--whole-archive 和 --no-whole-archive的区别
作者:互联网
参考gcc和ld 中的参数 --whole-archive 和 --no-whole-archive
CMake中有时候会碰到 链接-Wl以及–whole-archive,它并不是一个库,而是gcc的编译选项
if(NOT MSVC AND NOT APPLE)
set(BEGIN_WHOLE_ARCHIVE -Wl,--whole-archive)
set(END_WHOLE_ARCHIVE -Wl,--no-whole-archive)
set(CPP_EXAMPLE_LIBS
${BEGIN_WHOLE_ARCHIVE} mxnet_static ${END_WHOLE_ARCHIVE}
${BEGIN_WHOLE_ARCHIVE} dmlc ${END_WHOLE_ARCHIVE}
${mxnet_LINKER_LIBS}
)
target_link_libraries(lenet ${CPP_EXAMPLE_LIBS})
CMake中的 --whole-archive以及–no-whole-archive两者都是编译器选项,需要配合使用-Wl传递给编译器。 --whole-archive选项作用是设置连接器将库中的符号全部加载到链接的库中,–no-whole-archive表示关闭编译器。
标签:no,whole,Wl,archive,WHOLE,ARCHIVE 来源: https://blog.csdn.net/qq_31261509/article/details/93755453