【发布时间】:2009-03-06 02:44:55
【问题描述】:
我了解 boost regex 静态库是使用 ar 实用程序通过归档各个目标文件来创建的。
我使用 gcc 中的 -l 选项链接了 boost 正则表达式库。这非常有效。
g++ *.o libboost_regex-gcc-1_37.a -o sairay.out
我单独编译了 boost regex 源文件,然后尝试将我的应用程序的目标文件和 boost regex 的目标文件链接到一个可执行文件中。但是现在我遇到了错误。
g++ *.o -o sairay.out
Undefined first referenced
symbol in file
main /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.8/3.4.5/crt1.o
我想知道链接静态库和链接静态库文件的各个对象与应用程序有什么区别?
【问题讨论】:
-
对不起,我错过了你的第一句话。但你似乎已经明白发生了什么。请仔细检查以查看包含您的主要功能的目标文件是否也已链接。
-
我认为您输入错误,因为您分别说 gcc 和 -l 作为编译器/选项,但这并没有反映在您的命令中。你在做什么是正确的?