‘壹’ 如何用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#工程,如下图所示。