2013-09-27 80 views
0

圖書館像嫋嫋要求您運行.exe文件C++的HTTP請求在運行時

,從理論上有.dll文件,你應該能夠將這些鏈接爲.dll靜態的.exe文件

但是我找不到沒有錯誤和崩潰的方法。

但是有沒有庫在運行時不需要外部.dll文件? 這讓我做一個HTTP請求?

+0

看看這個問題:http://stackoverflow.com/questions/3411259/using-libcurl-without-dll –

+0

@MikyDinescu那沒用!我找不到沒有錯誤的方法。看到我的問題在這裏:http://stackoverflow.com/questions/19040583/compile-curllib-static-dll-completely-without-dll-dependency?lq=1 – user88888

+0

「這個問題可能已經有一個答案在這裏: 編譯curllib_static .dll完全沒有DLL依賴?「不,那裏有0個答案 – user88888

回答

1

圖書館一樣捲曲需要你有.dll文件的.exe 運行時,從理論上講,你應該能夠爲.dll靜態鏈接到這些.exe文件

你就是不行。他們是動態鏈接庫。 DLL無法靜態鏈接。如果供應商還提供靜態.lib文件,則可以鏈接該DLL的而不是。這不是一回事。

但是我找不到一個沒有錯誤和崩潰的方法。

隱藏,因爲沒有一個。

但是有沒有庫在運行時不需要外部.dll文件?這讓我做一個HTTP請求?

很可能,但是爲什麼?你對DLL的反對意見是什麼?

+0

那麼,如果你檢查了我的另一個問題,它確實提到'.lib'文件,但即使包含'.lib','.exe'仍然要求'.dll'文件 – user88888

+0

我想構建一個無DLL的便攜式應用程序 – user88888

+0

我正在回答*這個問題。如果缺少影響正確答案範圍的信息,請將其張貼在這裏。*不要指望人們在網站或互聯網上追逐你。他們不會。有靜態的.libs,這就是我正在談論的,以及動態的.libs,這顯然是你仍然有的,因此需要相應的DLL。你還沒有聲明*爲什麼*你不需要DLL;你只是重申你沒有。 '便攜式應用程序'不會添加任何信息。無論如何Windows應用程序都不可移植。 – EJP

1

根據我的經驗,你鏈接的.lib不是dll的實現,它只包含dll上的一些元信息。

如果你想一個.dll轉換爲.lib,這可能有助於(但它是令人生畏):

http://adrianhenke.wordpress.com/2008/12/05/create-lib-file-from-dll/

如果一切都失敗了,你應該考慮在編譯libcurl中的靜態版本對你自己

http://fluxxu.com/2010/12/08/building-static-libcurl-with-ssl-support-on-windows/(注:在您的應用程序的出口CURL_STATICLIB)

Building libcurl with SSL support on Windows

+0

您確定libcurl-7.19.3-win32-ssl-msvc中的'.lib'文件不完整嗎? – user88888

+0

我沒有使用Window的libcurl。你能檢查他們的大小嗎? – leesei

+0

@ user88888如果使用任何特定的.lib需要加載相應的.dll,*顯然*它是'不完整的'。你可以告訴大小。靜態.libs非常大,動態.libs很小。 – EJP