Итак, сначала я скажу, что я искал в тоннах мест без успеха.LibCurl в Visual Studio 2013 Ошибки статического компоновщика даже после включения необходимых зависимостей
Это PDF, где я начал:
http://curl.haxx.se/libcurl/c/visual_studio.pdf
Это кажется устаревшим и не включает в себя инструкции для Статически библиотек. Или, по крайней мере, я пробовал следовать всем инструкциям без каких-либо успехов.
Я попытался следующие ответы в
Installing LibCurl on Visual Studio 2010
error LNK2019: unresolved external symbol libcurl Visual studio
Building libcurl library in Visual Studio 2008
и в других областях, но не добились никакого прогресса.
Я также скажу, что я НЕ являюсь пользователем Windows любым протяжением воображения. С этим я расскажу, что я сделал до сих пор.
Я портирую приложение, которое я сделал в среде Unix, в частности OSX. Я добился больших успехов, за исключением использования libcurl. Мне нужно статически связать LibCurl, чтобы исполняемый файл, созданный Visual Studio, мог быть перемещен на другие устройства Windows по мере необходимости, не требуя DLL для libcurl или MySQL (который я также связываю статически).
Во всяком случае, с милостивой помощью этого репозитория:
https://github.com/blackrosezy/build-libcurl-windows
я смог построить Libcurl на устройство Windows. Это был сложный процесс, прежде чем я нашел этот репозиторий. Теперь у меня есть папка lib и include. Внутри папки lib есть папки выпуска и отладки для dll и статические сборки. Внутри папки статического выпуска у меня есть только libcurl_a.lib. В папке dll-release у меня есть libcurl.dll, libcurl.lib и libcurl.pdb.
Я получил программу для УСПЕШНОЙ сборки при динамическом соединении из папки dll-release
. Однако, когда я пытаюсь связать статически с папкой статического выпуска, я получаю 11 или около того ошибок компоновщика.
Я также включил "libcurl_a.lib"
, "wldap32.lib"
, "ws2_32.lib"
, "winmm.lib"
, "libeay32.lib"
и "ssleay32.lib"
как зависимостей.
В дополнение ко всему этому, я использовал NuGet, чтобы получить libssh2.1.4.3.1
, openssl.1.0.1.21
, zlib.1.2.8.1
вместе с переизданными версиями всех этих. Я включил следующие пути в моей библиотеке каталогов, а также:
path_to_libssh\build\native\lib\v110\Win32\Release\static\cdecl\<br>
path_to_openssl\build\native\lib\v110\Win32\Release\static\cdecl\<br>
path_to_zlib\build\native\lib\v110\Win32\Release\static\cdecl\<br>
Я также поставил /include/
пути из этих папок в моем списке включают в себя каталоги.
В моих определениях препроцессора у меня есть "CURL_STATICLIB"
.
Однако, несмотря на все эти шаги, которые я взял из нескольких источников, включая отличные ответы на этом сайте, а также PDF-файлы и некоторые ответы на сайте LibCurl, у меня все еще возникают эти ошибки компоновщика.
В качестве примера, один из ошибок, которые я чувствую немного ориентировочный (жаль, что я не могу скопировать и вставить все эти ошибки из VS2013, что я могу сказать) говорит:
«LNK2019 ошибка: неразрешенный внешний символ curl_easy_setopt ссылки в функции 'общественности: __ Cdecl бигуди :: бигуди (символ *)' (?? 0Curler @@ QEAA @ PEAD @ Z)»
Все эти ошибки раскладывают так же, указывая на некоторые вид __cdecl Curler
функция, с кодом ошибки LNK2019.
В любом случае, мой вопрос в основном: что я делаю неправильно? Мне жаль, если это неопределенный вопрос, или если вы чувствуете, что это повторение. Но я могу заверить вас, что я просмотрел большой список вопросов о переполнении стека и других областях Интернета без каких-либо успехов, и я начал чувствовать себя очень потерянным. Вещи, которые, похоже, работают для многих других, я просто не могу работать. Я думаю, что большая часть проблемы - это моя новизна к Windows. Если есть какая-либо другая информация, которую я могу предоставить, чтобы помочь вам помочь, я с радостью предоставил ее. Я очень ценю любую помощь, которую вы можете мне дать. Благодарю.