首页
学习
活动
专区
圈层
工具
发布

C++ 链接库顺序导致的符号未定义问题

链接顺序gcc/g++ 在合并目标文件生成可执行文件的时候会存在库的依赖问题:在命令行中,如果定义一个符号的库出现在引用这个符合的目标文件之前,那么引用就不能被解析,链接会失败。...–as-needed 就是忽略链接时没有用到的动态库,只将用到的动态库 set NEEDED。...下面举例说明:g++ -Wl,--as-needed -lGalaxyRT -lc -lm -ldl -lpthread -L/home/ocaml/lib/ -lrt -o mutex mutex.o...libGalaxyRT.so 在 mutex.o 的左边,所以 gcc 认为没有用到它,–as-needed 将其忽略),ld 忽略 libGalaxyRT.so,定位 mutex.o 的符号的时候当然会找不到符号的定义...正确的链接方式是:g++ -Wl,--as-needed mutex.o -lGalaxyRT -lc -lm -ldl -lpthread -L/home/ocaml/lib/ -lrt -o mutex

1.9K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ubuntu gcc编译时对’xxxx’未定义的引用问题

    http://www.cnblogs.com/oloroso/p/4688426.html gcc编译时对’xxxx’未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题...,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行文件的时候会出现找不到’xxx’的定义的情况。...如果错误是未声明的引用,那就是找不到函数的原型,解决办法这里就不细致说了,通常是相关的头文件未包含。 解决办法 指定原因就好办了,既然知道是缺少了函数的具体实现,那么就给它这个函数的实现就好了。...例如:在main.c中使用了pthread库相关函数,那么编译的时候必须是main.c在前,-lpthread在后。gcc main.c -lpthread -o a.out。...-levent -lcrypt -ldl

    10.7K20

    FFmpeg开发笔记(九)Linux交叉编译Android的x265库

    按向下键定位到该项,再按回车键,即可把ON改为OFF) (3)把ENABLE_CLI这项改为OFF(按向下键定位到该项,再按回车键,即可把ON改为OFF) 接着按c键开始配置,再按e键退出配置,然后按g键开始生成...同时删除文件末尾的“ -lpthread -lrt”。 (2)同目录的relink.txt修改说明同link.txt。...make install 7、调整x265的pc描述文件 修改/usr/local/app_x265/lib/pkgconfig下面的x265.pc,该文件的“Libs.private”选项里面去掉“-lrt...”,也就是改成下面这行: Libs.private: -lc++ -lm -lgcc -ldl -lgcc -ldl -ldl 8、添加PKG_CONFIG_PATH路径 Linux的profile文件位于用户初始目录的...abiFilters "arm64-v8a" arguments '-DANDROID_STL=c++_shared' // FFmpeg集成x265时需要 如果不加,App运行时会报错“java.lang.UnsatisfiedLinkError

    1.6K10

    在全志V853上进行Opencv库的编译步骤

    当V853需要进行图像的预处理操作时,涉及到使用opencv库中的相关接口和函数。所以如果要基于853进行模型的输入预处理或者输出后处理操作时,就不可避免的要依赖到opencv库。...make install 当编译可执行文件需要链接opencv库时,可以编写一个cmake来编译文件: # 声明要求的 cmake 最低版本 cmake_minimum_required( VERSION...${NPULIB_DIRSRCS}) # 将库文件链接到可执行程序上 target_link_libraries(main ${OpenCV_LIBS} ${VIP_LIBS} -lstdc++ -lpthread...-lrt -lm -ldl) 可以看到,该cmake链接了opencv库, set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/usr/lib/cmake/opencv4) 该方法通过链接...如若cmake生成makefile正常,make编译也正常,成功执行例程过后,opencv库成功生成。 原文链接:https://bbs.aw-ol.com/topic/3809/

    49710
    领券