这是静态vs共享库的Linux/G++版本吗?
Ubuntu 18.04,boost 1.65,g++7.5.0,cmake 3.10.2,GNU make 4.1。 几乎所有Ubuntu18.04的默认版本,加上通过apt-get提供的“最新”增强版本。 (顺便说一句,更新的ubuntu是否有更新的版本,或者只是落后那么多?)
我正在尝试将使用多种不同增强组件(chrono,filesystem,proram_pressions,regex,system,thread,timer和unit_test_framework)的软件移植到NVidia Jetson TX2板上。。。 它在其开发板和主机上都使用了上述版本的ubuntu。
目前我试图清除的障碍是,链接cmake:add_library(shared.。。)中的第一个共享库在g++中失败,标题中出现错误。 “blah blah blah”部分提到了boost文件系统中的一个特定入口点。
我的结论是,我需要用请求的构建标志重建boost文件系统:-fpic。 令人震惊,我知道。 我似乎记得boost在构建系统方面是它自己独特的雪花,所以这会很有趣。 至少cmake是我认识的魔鬼。
libboost*-dev apt包是否附带了重建所需的所有内容,还是需要直接获取相关版本的源代码? 我试着用apt-file看看什么去哪儿了。。。 但是给出了多少个不同的。C?? 还有。?? 等扩展,我甚至不确定我是否在Boost::Filesystem的文件列表中搜索正确的内容。
在某些时候,我需要为开发板(arm)而不是主机(amd64)交叉编译这些东西,但一次一个麻烦。。。
你考虑过用柯南重建Boost吗? 好处: