/usr/local/lib路径中有动态库,但还是显示undefined reference to,

问题描述:
在安装好软件后,进行编译时,发现

main.cpp:(.text+0xaa1): undefined reference to `aliceVision::system::Logger::getDefaultVerboseLevel()'
main.cpp:(.text+0xab4): undefined reference to `aliceVision::system::EVerboseLevel_enumToString[abi:cxx11](aliceVision::system::EVerboseLevel)'
main.cpp:(.text+0x13fc): undefined reference to `aliceVision::system::Logger::get()'
main.cpp:(.text+0x1420): undefined reference to `aliceVision::system::Logger::setLogLevel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

会有undefined reference to问题,查找原因可能是因为没有动态库的实现,但在/usr/local/lib下明明有这些动态库。并且将动态库的路径添加至环境变量也没有解决问题,最终参考程序自带的cmakelist,才顺利解决
解决方法:
cmakelist中指定要连接的库就可以

add_executable(main main.cpp)
target_link_libraries(main
	aliceVision_system
        ${CERES_LIBRARIES}
        ${Boost_LIBRARIES}
)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值