0

MingW を使用して、Windows で RestClient-Cpp を使用するアプリケーションを作成しています。私は OpenSSL を構築し、その後 Curl を動的に構築しようとしましたが、失敗したため、現在は静的に構築しています。その後、RestClient をビルドしようとしましたが、警告は表示されませんでした。CLion では、この CMake ファイルを使用しています。

cmake_minimum_required(VERSION 3.2)
project(project)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
# add_definitions(-DCURL_STATICLIB)
# find_library(curl NAMES curl libcurl)
# find_package(curl)
# add_definitions(-lcurl)
# find_library(restclient-cpp NAMES restclient restclient-cpp)
# add_library(curl STATIC IMPORTED)
# set_property(TARGET curl PROPERTY IMPORTED_LOCATION C:/MinGW/lib/libcurl.a)
add_executable(project ${SOURCE_FILES})
target_link_libraries(project restclient-cpp)

コメントされた行は、私がそれを機能させようとしたものの一部ですが、今までのところ運がありません... 私はいつもこのエラーが発生します。

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../librestclient-cpp.a(librestclient_cpp_la-restclient.o): In function `ZN10RestClient3getERKSs':
c:\MinGW\stuff\restclient/source/restclient.cpp:45: undefined reference to `_imp__curl_easy_init'
c:\MinGW\stuff\restclient/source/restclient.cpp:49: undefined reference to `_imp__curl_easy_setopt'
c:\MinGW\stuff\restclient/source/restclient.cpp:66: undefined reference to `_imp__curl_easy_perform'
c:\MinGW\stuff\restclient/source/restclient.cpp:74: undefined reference to `_imp__curl_easy_getinfo'
c:\MinGW\stuff\restclient/source/restclient.cpp:77: undefined reference to `_imp__curl_easy_cleanup'
c:\MinGW\stuff\restclient/source/restclient.cpp:78: undefined reference to `_imp__curl_global_cleanup'
c:\MinGW\stuff\restclient/source/restclient.cpp:50: undefined reference to `_imp__curl_easy_setopt'

私がリンクしているとき...どんなアイデアでも大歓迎です...

4

1 に答える 1

0

解決済み; CMake は私の Git の libcurl.dll を使用していたので、最初は別のバージョンでした。また、libcurl.dll ファイルを /mingw/bin と /mingw/include にコピーしたところ、正常に動作するようになりました

于 2015-05-03T10:49:17.447 に答える