问一个关于自己写MAKEFILE的问题,是关于MAKEFILE的LINK的

bjxiaoye 2006-02-14 10:53:01
以下是我写的MAKEFILE,因为不熟,所以很多地方是抄的,这个MAKEFILE在LINK的时候提示我找不到所要link的文件,比如kernel.lib,请问如何指定LIB文件路径,我用绝对路径就行
//
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF


OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros

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


CLEAN :
-@erase "$(INTDIR)\Msger_Main.obj"
-@erase "$(INTDIR)\tmp.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\Msger.exe"

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

CPP=cl.exe
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\Msger.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c

.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) $<
<<

RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\Msger.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 /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Msger.pdb" /machine:I386 /out:"$(OUTDIR)\Msger.exe"
LINK32_OBJS= \
"$(INTDIR)\Msger_Main.obj" \
"$(INTDIR)\tmp.obj"

"$(OUTDIR)\Msger.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<


!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("Msger.dep")
!INCLUDE "Msger.dep"
!ELSE
!MESSAGE Warning: cannot find "Msger.dep"
!ENDIF
!ENDIF


SOURCE=.\tmp\tmp.c


CPP_SWITCHES=/nologo /ML /W3 /GX /O2 /I ".\db" /I ".\ts" /I ".\hdr" /I "C:\Program Files\Microsoft Visual Studio\VC98\atl\include" /I "C:\Program Files\Microsoft Visual Studio\VC98\mfc\include" /I "C:\Program Files\Microsoft Visual Studio\VC98\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\Msger.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c

"$(INTDIR)\tmp.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) @<<
$(CPP_SWITCHES) $(SOURCE)
<<


...全文
380 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoranisme 2006-02-28
  • 打赏
  • 举报
回复
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib


加 -libpath:$(LIBPATH),其中$(LIBPATH)自定义

YufengShi 2006-02-27
  • 打赏
  • 举报
回复
kernel.lib?
是kernel32.lib吧
wshcdr 2006-02-26
  • 打赏
  • 举报
回复
UP DiabloWalkOnTheEarth(WorldOfWg
  • 打赏
  • 举报
回复
加 -libpath:$(LIBPATH)
JustNewBie 2006-02-14
  • 打赏
  • 举报
回复
VC的不熟,不过指定link路径那肯定是在参数里面啊,你用link /?看一下嘛.
还有,既然是vc,为什么还要自己写makefile,ide可以给你生成输出来啊.

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧