文件中首次引用的未定义符号 - Scons build

问题描述

S构造:

sconscript('src/srch/impl/sconscript',variant_dir='build/impl',duplicate=0)
sconscript('src/srch/server/sconscript',variant_dir='build/server',duplicate=0)

src/srch/impl 下的 sconscript 文件将编译该目录下可用的 C++ 文件,并在 build/impl 中生成一个静态库(libSrchQServer-g0.a)。

src/srch/server 下的 sconscript 文件将编译该目录下可用的 C++ 文件,并通过链接 srch/impl 下 sconscript 生成的静态库(libSrchQServer-g0.a)生成一个 C++ 二进制文件(QSrchServer)。

我已经设置了所有构造变量,例如 LIBS、LIBPATH

这里的问题是 C++ 二进制文件 (QSrchServer) 没有生成并且 scons 抛出链接错误“未定义符号首先在文件中引用”。那么我缺少什么以及为什么低于链接错误? 请提出任何想法/建议。

Scons 构建错误日志:

...
Undefined                       first referenced
 symbol                             in file
const RWCatMsg*RWTOOL_INDEX()  build/impl/libSrchQServer-g0.a(DomAdvSearchFeedback.o)
void RWCollection::removeAndDestroy(const RWCollectable*) build/server/QSrchClientCollection.o
....
ld: fatal: symbol referencing errors. No output written to build/server/QSrchServer
scons: *** [build/server/QSrchServer] Error 1
scons: building terminated because of errors.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)