/ usr / bin / ld:build / bsp_src / main.o:未定义的第一个引用符号«_ZN5boost6system15system_categoryEv»
// usr / lib / i386-linux-gnu / libboost_system.so.1.54.0:添加符号时出错:命令行中缺少DSO
我正在尝试构建此项目https://github.com/TTimo/es_core,并且没有使用scons来实现
答案 0 :(得分:2)
根据您问题中引用的SConstruct
文件,您没有在boost_system库中正确链接。你这样做是这样的:
env.Append( CCFLAGS = [ '-g', '-lboost_system', ] )
CCFLAGS
变量应该用于将编译标志传递给编译器。 -l
标志应该传递给链接器,而不是编译器。在SCons中执行此操作的正确方法如下:
env.Append( LIBS = ['boost_system'] )
请注意,我不添加-l
标记,因为SCons
以独立于平台的方式为您执行此操作。
您可能还需要定义库的路径,其操作如下:
env.Append( LIBPATH = '/put/the/path/here' )
与LIBS
一样,您无需将-L
标记添加到LIBPATH
,因为SCons
会添加它。
以下是SCons Construction Variables的完整列表。