С ++ (GCC). Библиотека скручиваемость. Статически связанный - PullRequest
1 голос
/ 17 февраля 2011

Какие опции установлены, чтобы статически связать библиотеку curl?

Библиотека должна быть интегрирована в исполняемый файл .

пробовал иначе: добавили опции g ++ -DCURL_STATICLIB -lcurl ... добавили #define CURL_STATICLIB в код ..., в IDE NetBeans добавили libcurl.a, libcurldll.a ... и т. Д.,

Компиляция успешна и все прекрасно работает. Но все еще требует external libcurl.dll ! (Размер исполняемого файла также увеличивается!)

Что не так? может что-то добавить в IDE (также используется NetBeans, Eclipse)

Пожалуйста, покажите правильный пример, как вы сделали бы

Исполняемый файл должен быть без вызова внешнего dll library

это мой первый вопрос :)


Фикс.

Пример компиляции для библиотеки curl с OpenSSL + zlib + libidn + libssh2 + librtmp:

g ++ -static main.cpp -lcurl -lidn -lwldap32 -lssh2 -lz -lrtmp -lssl -lssl32 -lcrypto -lgdi32 -lws2_32 -lwinmm -o test.exe

примечание: здесь не следует указывать -lcurldll. Это приведет к тому, что компиляция прошла успешно, но все еще требуется внешний libcurl.dll

1 Ответ

0 голосов
/ 17 февраля 2011

необходимо указать -static в настройках компоновщика

...