我正在尝试使用SCons来编译和链接一个简单的Windows程序。我有两个需要编译的文件,httprequest.cpp和curltest.cpp。首先,我想从httprequest。* pp文件中创建一个库。这些文件依赖于libcurl.lib库,该库也在我的源代码中。
一旦编译完成,我就会尝试将curltest.cpp编译成.exe(也依赖于libcurl.lib库)。但是,我不断收到如下错误:
httpreq.lib(httprequest.obj) : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function "public: __thiscall HTTPRequest::HTTPRequest(void)" (??0HTTPRequest@@QAE@XZ)
尽管明确地链接到libcurl.lib(我已经确认 - 使用nm - 有可用的方法__curl_easy_setopt等),当httpreq.lib试图找到libcurl方法时,我遇到了问题。 / p>
如何将libcurl.lib链接到httpreq库和curltest可执行文件而没有问题?
编辑:这是我的SConstruct文件,可以在Ubuntu 11.04下构建和链接。
httpreq = 'src//httprequest.cpp'
StaticLibrary('httpreq', httpreq)
env = Environment(
CPPPATH = ['#//include//curl',
'#//src'
],
LIBPATH = ['#//bin',
'#//'
],
LIBS = ['libcurl',
'httpreq'
]
)
curltest = ['src//curltest.cpp']
env.Program('test', curltest)