2
我正在嘗試使用SCons來編譯和鏈接一個簡單的Windows程序。我有兩個需要編譯的文件,httprequest.cpp和curltest.cpp。首先,我想從httprequest。* pp文件中創建一個庫。這些文件依賴於也在我的源代碼中的libcurl.lib庫。Windows鏈接
一旦編譯完成,然後嘗試將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)" ([email protected]@[email protected])
儘管明確地鏈接到libcurl.lib(我已經證實 - 用納米 - 有__curl_easy_setopt之類可用的方法),我遇到問題時, httpreq.lib嘗試查找libcurl方法。
如何將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)
聽起來像你正在C++中編譯C頭文件。將頭部包裹在外部「C」 –