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

cmake链接静态库-static-libstdc++问题

在嵌入式平台中,业务使用C语言开发,在交叉编译过程中会链接一个第三方的c++静态库,该第三放库使用了std,需要链接libstdc++的库,由于所在的嵌入式平台中没有libstdc++.so库,如果将libstdc...++'的库,在cmake中有链接-static-libstdc++,而且交叉工具链中是有libstdc++.a库,当我们将cmake改为: add_executable(${target} ${src_sample...the shared version of libstdc++....The -static-libstdc++ option directs the g++ driver to link libstdc++ statically, without necessarily...static-libstdc++',最终不会链接到实际的libstdc++.a,所以在链接时出现不能识别std的问题; 知道原因了,就很好解决了,在链接阶段将cmake的链接选项改为g++即可,添加如下一行就可以正常链接成功

5.3K51
您找到你想要的搜索结果了吗?
是的
没有找到

linux下用cmake对caffe静态编译时-static-libstdc++参数无效的问题

exit_on_error popd rm -fr build.gcc popd 在脚本中,调用cmake生成Makefile时,添加了-DCMAKE_EXE_LINKER_FLAGS="-static-libstdc...++ -static-libgcc"参数用于指定 将libstdc++,libgcc以静态库形式连接,然而在实际使用过程发现当指定 USE_OPENCV=on(即使用OpenCV,opencv已经预先做了静态库编译...)时,编译出的caffe,用ldd查看还是会依赖libstdc++.so和libgcc.so,也就是说-static-libstdc++ -static-libgcc无效了。。。...于是果然在cmake生成Makefile后,添加了如下代码,则问题解决: # 修改所有 link.txt 删除-lstdc++ 选项,保证静态连接libstdc++库,否则在USE_OPENCV=on的情况下...,libstdc++不会静态链接 for file in $(find .

6.3K60
领券