gcc链接顺序
程序员文章站
2022-03-16 20:17:04
...
代码在
https://github.com/killinux/haobasic
############# 调试内容
编译时打印宏内容
https://blog.csdn.net/wlr_tang/article/details/21778587
###########################
保证连接不断
ssh -o ServerAliveInterval=60 root@118.25.212.122
########################################################################
gcc的连接顺序: 从右往左
cmake的 target_link_libraries 也是从下往上
target_link_libraries
https://blog.csdn.net/ssmale/article/details/17225345
#########
error adding symbols: DSO missing from command line
是缺少连接的库,少依赖库了
so没有顺序问题? .a有顺序问题
所以需要Xlinker
[url] https://www.cnblogs.com/wujianlundao/archive/2012/06/06/2538125.html[/url]
使用的是 静态库和动态库怎么区分?
#########
gcc编译过程
https://www.cnblogs.com/wjchao/p/7460375.html
静态库:
https://blog.csdn.net/dd_hello/article/details/81782934
生成 testadd.o
###################
静态库加载
https://blog.csdn.net/a511244213/article/details/48573311
##############
todo:
头文件加载顺序的例子
undefined问题的先后顺序
#################
cmake 出现 undefined reference to 时的处理
CMakeLists.txt中添加:
https://blog.csdn.net/yanlonging/article/details/79404969
也可能是
https://blog.csdn.net/linux_Allen/article/details/80218406
https://github.com/killinux/haobasic
############# 调试内容
编译时打印宏内容
https://blog.csdn.net/wlr_tang/article/details/21778587
/* main.c */ #include <stdio.h> #define __PRINT_MACRO(x) #x #define PRINT_MACRO(x) #x "=" __PRINT_MACRO(x) int main(int argc, const char *argv[]) { #define TEST_MACRO 512 #pragma message(PRINT_MACRO(TEST_MACRO)) return 0; }
###########################
保证连接不断
ssh -o ServerAliveInterval=60 root@118.25.212.122
########################################################################
gcc的连接顺序: 从右往左
cmake的 target_link_libraries 也是从下往上
target_link_libraries
https://blog.csdn.net/ssmale/article/details/17225345
#########
error adding symbols: DSO missing from command line
是缺少连接的库,少依赖库了
so没有顺序问题? .a有顺序问题
所以需要Xlinker
[url] https://www.cnblogs.com/wujianlundao/archive/2012/06/06/2538125.html[/url]
使用的是 静态库和动态库怎么区分?
gcc -o output.bin -Xlinker "-(" liba.ar libb.ar -Xlinker "-)" -lrt
#########
gcc编译过程
https://www.cnblogs.com/wjchao/p/7460375.html
静态库:
https://blog.csdn.net/dd_hello/article/details/81782934
生成 testadd.o
g++ -c testadd.c g++ -c testuseadd.c ar -crv libtestadd.a testadd.o ar -crv libtestuseadd.a testuseadd.o
###################
静态库加载
https://blog.csdn.net/a511244213/article/details/48573311
##############
todo:
头文件加载顺序的例子
undefined问题的先后顺序
#################
cmake 出现 undefined reference to 时的处理
CMakeLists.txt中添加:
find_package(Threads) target_link_libraries(main ${CMAKE_THREAD_LIBS_INIT})
https://blog.csdn.net/yanlonging/article/details/79404969
也可能是
https://blog.csdn.net/linux_Allen/article/details/80218406
上一篇: MySQL操作之JSON数据类型操作详解