『壹』 如何用vs和makefile文件進行編譯
運行cmd.exe (or command.com in win9x)->進到vc/bin目錄->運行vc-vars32.bat->進到makefile 所在的目錄->nmake /f makefile
從sourceforge上下載下來的libjpeg源代碼中有一個makefile.vc的文件,可以通過nmake /f makefile.vc [nodebug=1]來編譯libjpeg,但是只能編譯靜態庫,如果需要編譯dll以便在emacs等程序中使用的話,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加編譯dll規則:
以下內容為程序代碼:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下這行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然後nmake /f makefile.vc nodebug=1就可以編譯了。
將makefile復制為一個.mak文件,然後用VC打開即可!
.mak 就是一個makefile
可以指定怎樣編譯(命令行,必須先設置VC命令行環境)
vcvars32.bat可設置環境,在vc98/bin下 nmake /f XXXX.mak
如果有一個makefile就只要nmake就可以了。
『貳』 VS Code鑳戒唬鏇縑S鍚楋紵鍖哄垎緙栬緫鍣ㄣ佺紪璇戝櫒涓庨泦鎴愬紑鍙戠幆澧冿紵
鍦ㄧ紪紼嬩笘鐣岄噷錛VS Code鍜孷isual Studio錛圴S錛夊氨鍍忎竴瀵瑰苟鑲╀綔鎴樼殑浼欎即錛屽悇鑷鏈夌潃鐙鐗圭殑瑙掕壊鍜屼紭鍔銆俈S Code浠ュ叾寮哄ぇ鐨勬簮浠g爜緙栬緫鑳藉姏錛屼負寮鍙戣呮彁渚涗簡璇娉曢珮浜銆佹櫤鑳戒唬鐮佽ˉ鍏ㄧ瓑鍩虹涓斿疄鐢ㄧ殑鍔熻兘錛瀹冩槸杞葷泩鐨勫紑婧愰夋嫨錛屼笓娉ㄤ簬婊¤凍鍩烘湰鐨勪唬鐮佺紪鍐欓渶奼銆俈S Code鐨勬彃浠剁敓鎬佺郴緇熶赴瀵岋紝鏃犺烘槸鏂囦歡綆$悊銆佸懡浠よ岄泦鎴愶紝榪樻槸閽堝圭壒瀹氳璦鐨勫畾鍒訛紝閮借兘杞繪澗瀹炵幇銆
鐒惰岋紝VS鍒欐槸涓鎶婃洿涓洪攱鍒╃殑鍓戱紝瀹冩槸涓涓瀹屾暣鐨勯泦鎴愬紑鍙戠幆澧冿紙IDE錛夛紝闆嗘垚浜嗙紪璇戝櫒銆佽皟璇曞櫒鍜屽伐紼嬬$悊絳夊氬姛鑳戒簬涓浣銆俈S鐨勫己澶т箣澶勫湪浜庡畠鎻愪緵浜嗕竴絝欏紡鐨勮В鍐蟲柟妗堬紝浠g爜鐢熸垚鍣ㄣ乄YSIWYG璁捐″伐鍏峰拰澶氳璦鏀鎸佷嬌寰楀紑鍙戦熷害鍜屾晥鐜囧緱鍒版樉钁楁彁鍗囥傚畠鐨勭晫闈㈣捐$洿瑙傦紝紿楀彛甯冨矓緔у噾錛岄傚悎澶у瀷欏圭洰寮鍙戝拰鍥㈤槦鍗忎綔銆
鍦ㄧ紪璇戝櫒灞傞潰錛屼袱鑰呭潎鍐呯疆浜嗙紪璇戝姛鑳斤紝浣哣S鐨勭紪璇戝櫒MSVC鏄疻indows寮鍙戠殑棣栭夛紝鍚屾椂鏀鎸佸叾浠栫紪璇戝櫒濡倈cc鍜宭lvm銆俈S Code鍒欓渶瑕侀濆栧畨瑁呭拰閰嶇疆錛屼絾瀹冩敮鎸佸氱嶇紪紼嬭璦鐨勭紪璇戝櫒錛屼負寮鍙戣呮彁渚涗簡鏇村ぇ鐨勭伒媧繪с
浣滀負IDE錛孷S鐨勫叏鍔熻兘鐗規т嬌鍏跺湪欏圭洰寮鍙戠殑鍏ㄧ敓鍛藉懆鏈熶腑鎵婕旂潃閲嶈佽掕壊錛屼粠浠g爜緙栧啓銆佽皟璇曪紝鍒版墦鍖呭拰鍙戝竷錛屽畠閮芥彁渚涗簡瀹屾暣鐨勬敮鎸併傜浉姣斾箣涓嬶紝VS Code鉶界劧涓嶆槸瀹屾暣鐨処DE錛屼絾閫氳繃鍏跺唴緗鐨凣it銆丏ocker鍜孠ubernetes鎵╁睍錛屼嬌寰楀紑鍙戜漢鍛樿兘澶熷湪瀹為檯欏圭洰涓楂樻晥宸ヤ綔銆
鎬葷殑鏉ヨ達紝VS閫傚悎闇瑕佸叏鏂逛綅寮鍙戞敮鎸佸拰寮哄ぇ鍔熻兘鐨勫ぇ鍨嬮」鐩錛岃孷S Code鍒欐洿閫傚悎鐙絝嬪紑鍙戣呭拰灝忓瀷欏圭洰錛屽畠浠ヨ交閲忓拰鎵╁睍鎬ц耽寰椾簡浼楀氬紑鍙戣呯殑闈掔潗銆傛瘡嬈懼伐鍏烽兘鏈夊叾閫傜敤鐨勫満鏅錛岄夋嫨鍝涓錛屽彇鍐充簬浣犵殑欏圭洰闇奼傚拰涓浜哄嚲濂姐
濡傛灉浣犲規垜鐨勮В絳旀弧鎰忥紝閭e氨璇風粰浜堣偗瀹氾紝涓涓璧炲悓灝辨槸瀵規垜浠宸ヤ綔鐨勮ゅ彲銆傛垜浼氭寔緇鍦ㄨ繖閲岋紝涓轟綘鐨勭枒闂鎻愪緵璇﹀敖鐨勮В絳旓紒
鎴戞槸
@鐖辨¤倝涓擱腑
『叄』 vs 命令行編譯靜態庫
_declspec(dllexport) void test_print(char* sz_input);
這是動態鏈接庫 -- dllexport ,dll是動態鏈接庫。
不是你說的靜態庫。
動態鏈接庫,應用程序調用它,編譯鏈接時要有.lib, 運行時要有.dll
Debug\ -- 給別的程序用,要用 Release\,不能用 Debug\
char * __ptr64 sz_input;
__ptr64 -- 32位機上,指針sz_input截斷為32位.
char * __ptr32 sz_input;
__ptr32 -- 64位機上,指針sz_input變32位
wchar_t,_MBCS -- 表明你要用雙位元組字元,那麼程序就不應當用 單位元組char 型。如果你要編的不是要用雙位元組字元,那麼 就不要 wchar_t,_MBCS。
『肆』 VS2017在Windows10下如何運用命令行編譯運行
如果是 dotnet framework 項目,使用 msbuild.exe 進行編譯
如果是 dotnet Core 項目,用 dotnet 命令進行編譯
『伍』 vs2019編譯文件卡住
緩存過多,根據查詢博客園網顯示。
1、visualstudio2019編譯文件時出現卡頓原因為運行太久緩存過多,具體解決步驟為。
2、按住win加r鍵,輸入devenv.exe、resetuserdata即可,此命令會運行幾分鍾,主要作用為清除visualstudio2019緩存設置以解決卡頓。
『陸』 VS2010自帶命令行工具
1、首先打開VS軟體,並創建c#工程,如下圖所示。