繁体   English   中英

Windows链接

[英]Windows Linking

我正在尝试使用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方法时,我仍然遇到问题。

如何在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)

这似乎已经是libcurl常见问题解答中回答的问题

关键是要在Windows上使用静态libcurl库,必须在编译时定义CURL_STATICLIB。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM