分享
 
 
 

创建项目

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

2.3 创建项目

【MAKE文件】

make工具提供了各个处理模块的比较批处理的编译功能, 需要一个makefile表示项目中的模块各自的关系. 现在的VC已经不需要我们关心这些细节, 而且甚至不需要使用它们.

还是COM, 如果你需要产生一个proxy/stub的代理控件, 就需要使用到make和makefile

nmake -nf projectnamePS.mk

上面例子的makefile( 使用VC的project->export makefile )

# Microsoft Developer Studio Generated NMAKE File, Based on client.dsp

!IF "$(CFG)" == ""

CFG=client - Win32 Debug

!MESSAGE No configuration specified. Defaulting to client - Win32 Debug.

!ENDIF

!IF "$(CFG)" != "client - Win32 Release" && "$(CFG)" != "client - Win32 Debug"

!MESSAGE Invalid configuration "$(CFG)" specified.

!MESSAGE You can specify a configuration when running NMAKE

!MESSAGE by defining the macro CFG on the command line. For example:

!MESSAGE

!MESSAGE NMAKE /f "client.mak" CFG="client - Win32 Debug"

!MESSAGE

!MESSAGE Possible choices for configuration are:

!MESSAGE

!MESSAGE "client - Win32 Release" (based on "Win32 (x86) Console Application")

!MESSAGE "client - Win32 Debug" (based on "Win32 (x86) Console Application")

!MESSAGE

!ERROR An invalid configuration is specified.

!ENDIF

!IF "$(OS)" == "Windows_NT"

NULL=

!ELSE

NULL=nul

!ENDIF

CPP=cl.exe

RSC=rc.exe

!IF "$(CFG)" == "client - Win32 Release"

OUTDIR=.\Release

INTDIR=.\Release

# Begin Custom Macros

OutDir=.\Release

# End Custom Macros

ALL : "$(OUTDIR)\client.exe"

CLEAN :

-@erase "$(INTDIR)\client.obj"

-@erase "$(INTDIR)\client.pch"

-@erase "$(INTDIR)\StdAfx.obj"

-@erase "$(INTDIR)\vc60.idb"

-@erase "$(OUTDIR)\client.exe"

"$(OUTDIR)" :

if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\client.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c

BSC32=bscmake.exe

BSC32_FLAGS=/nologo /o"$(OUTDIR)\client.bsc"

BSC32_SBRS=

LINK32=link.exe

LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\client.pdb" /machine:I386 /out:"$(OUTDIR)\client.exe"

LINK32_OBJS= "$(INTDIR)\StdAfx.obj" "$(INTDIR)\client.obj"

"$(OUTDIR)\client.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)

$(LINK32) @<<

$(LINK32_FLAGS) $(LINK32_OBJS)

<<

!ELSEIF "$(CFG)" == "client - Win32 Debug"

OUTDIR=.\Debug

INTDIR=.\Debug

# Begin Custom Macros

OutDir=.\Debug

# End Custom Macros

ALL : "$(OUTDIR)\client.exe" "$(OUTDIR)\client.bsc"

CLEAN :

-@erase "$(INTDIR)\client.obj"

-@erase "$(INTDIR)\client.pch"

-@erase "$(INTDIR)\client.sbr"

-@erase "$(INTDIR)\StdAfx.obj"

-@erase "$(INTDIR)\StdAfx.sbr"

-@erase "$(INTDIR)\vc60.idb"

-@erase "$(INTDIR)\vc60.pdb"

-@erase "$(OUTDIR)\client.bsc"

-@erase "$(OUTDIR)\client.exe"

-@erase "$(OUTDIR)\client.ilk"

-@erase "$(OUTDIR)\client.pdb"

"$(OUTDIR)" :

if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"

CPP_PROJ=/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\client.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c

BSC32=bscmake.exe

BSC32_FLAGS=/nologo /o"$(OUTDIR)\client.bsc"

BSC32_SBRS= "$(INTDIR)\StdAfx.sbr" "$(INTDIR)\client.sbr"

"$(OUTDIR)\client.bsc" : "$(OUTDIR)" $(BSC32_SBRS)

$(BSC32) @<<

$(BSC32_FLAGS) $(BSC32_SBRS)

<<

LINK32=link.exe

LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../debug/ch2_stash.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\client.pdb" /debug /machine:I386 /out:"$(OUTDIR)\client.exe" /pdbtype:sept

LINK32_OBJS= "$(INTDIR)\StdAfx.obj" "$(INTDIR)\client.obj"

"$(OUTDIR)\client.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)

$(LINK32) @<<

$(LINK32_FLAGS) $(LINK32_OBJS)

<<

!ENDIF

.c{$(INTDIR)}.obj::

$(CPP) @<<

$(CPP_PROJ) $<

<<

.cpp{$(INTDIR)}.obj::

$(CPP) @<<

$(CPP_PROJ) $<

<<

.cxx{$(INTDIR)}.obj::

$(CPP) @<<

$(CPP_PROJ) $<

<<

.c{$(INTDIR)}.sbr::

$(CPP) @<<

$(CPP_PROJ) $<

<<

.cpp{$(INTDIR)}.sbr::

$(CPP) @<<

$(CPP_PROJ) $<

<<

.cxx{$(INTDIR)}.sbr::

$(CPP) @<<

$(CPP_PROJ) $<

<<

!IF "$(NO_EXTERNAL_DEPS)" != "1"

!IF EXISTS("client.dep")

!INCLUDE "client.dep"

!ELSE

!MESSAGE Warning: cannot find "client.dep"

!ENDIF

!ENDIF

!IF "$(CFG)" == "client - Win32 Release" || "$(CFG)" == "client - Win32 Debug"

SOURCE=.\client.cpp

!IF "$(CFG)" == "client - Win32 Release"

"$(INTDIR)\client.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\client.pch"

!ELSEIF "$(CFG)" == "client - Win32 Debug"

"$(INTDIR)\client.obj" "$(INTDIR)\client.sbr" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\client.pch"

!ENDIF

SOURCE=.\StdAfx.cpp

!IF "$(CFG)" == "client - Win32 Release"

CPP_SWITCHES=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\client.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c

"$(INTDIR)\StdAfx.obj" "$(INTDIR)\client.pch" : $(SOURCE) "$(INTDIR)"

$(CPP) @<<

$(CPP_SWITCHES) $(SOURCE)

<<

!ELSEIF "$(CFG)" == "client - Win32 Debug"

CPP_SWITCHES=/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\client.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c

"$(INTDIR)\StdAfx.obj" "$(INTDIR)\StdAfx.sbr" "$(INTDIR)\client.pch" : $(SOURCE) "$(INTDIR)"

$(CPP) @<<

$(CPP_SWITCHES) $(SOURCE)

<<

!ENDIF

!ENDIF

【文件命名】

. 传统C使用不区分大小的.h, .c表示声明和实现

. Unix下开始区分大小

. C++使用.hxx, .cxx

. 现在因为头文件不参与连接和编译( 直接 ), 使用.h和.cpp

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有