1. 如何在linux下用gcc將c語言文件編譯成32位exe文件,且可以在Windows下運行
有方法的,不過要看你編繹出的程序需要用到多少windows的庫,看看linux下有沒有可以替代的,不過很多時候沒有windows內核還是無法編譯成功的。
方法一:安裝mingw32
方法二:virtualbox安裝xp的虛擬機
方法三:通過wine使用cl命令行編譯
上面幾個方法你可以嘗試一下。
至於編輯嘛,高手一般直接就用vim,如果你覺得難用的話,可以用eclipse或者kdevelop,kdevelop有點像windows下VS,希望對你有所幫助
2. vscode編譯調用32位dll
1、首先vscode編譯調用32位dll的軟體開啟並登錄的賬戶。
2、其次在軟體內找到vscode的編譯器,並選擇調用32位dll。
3、最後點擊保存即可。
3. 64位linux下的GCC如何編譯出一個32位可執行程序
理論上安裝支持環境,之後64位的gcc編譯成32位程序,就加-m32參數即可。
當然還一個辦法是裝個32位的gcc。
另外,交叉編迅純譯也適用於x86架構。
不過這么編譯經常會出現各種問題,所以編譯32位的程序,最好還是用32位系統。
不一定重裝,用chroot和setarch命令配合即可弄出一個32位的子系統。
4. 怎麼在64位linux機器上編譯32位的openssl庫
使用下面兩條命令編譯 setarch i386 ./Configure --prefix=/usr linux-generic32 -m32 shared make 在編譯過程中可能會碰到錯誤輸出,可能是有些依賴庫找不到 需要把輸出粘出來看看。 另外,提問最好說明你的Linux是什麼發布版
5. 怎麼在64位linux機器上編譯32位的openssl庫
使用VS2005下的Visual Studio 2005 Command Prompt進入控制台模式(這個模式會自動設置各種環境變數)
、解壓縮openssl的包,進入openssl的目錄
、perl configure VC-WIN32
盡量在這個目錄下執行該命令,否則找不到Configure文件,或者指定完整的Configure文件路徑。
、ms\do_ms
在解壓目錄下執行ms\do_ms命令
、nmake -f ms\ntdll.mak編譯後在openssl解壓目錄下執行,完成編譯後。輸出的文件在out32dll裡面,包括應用程序的可執行文件、lib文件和dll文件
注意:在運行第五步時,cl編譯器會抱怨說.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推薦的),建議使用_read。呵呵,我可不想將OpenSSL中的所有的read函數修改為_read。再看cl的錯誤代碼 error C2220,於是上MSDN上查找:
warning treated as error - no object file generated
/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.
是由於設置了/WX選項,將所有的警告都作為錯誤對待,所以。。。
於是打開OpenSSL目錄下的MS目錄下的ntdll.mak文件,將CFLAG的/WX選項去掉,存檔。
6. 如何用ndk生成64位或者32位的so庫文件
-lcrypto是缺少庫libcrypto.so吧\r\n你這用什麼系統編的啊為什麼執行命令看是linux 底下還有D盤\r\n \r\n程序里也有錯誤啊\r\njni\/OpensslWapper.cpp:102: error: undefined reference to 'BN_bn2hex'