common.cpp中有一條#pragma comment(lib,"common.lib"),其中common.cpp和common.lib處於同一個名為common的文件夾。
而工程文件在其他文件夾,編譯的時候,編譯器從工程文件的同級目錄查找common.lib,結果當然是找不到了。
首先,由於這個common文件夾中的文件是所有人共享的,並不是每一個人的common絕對路徑都相同,所以不能使用絕對路徑鏈接lib。
另外,由於多個項目使用這個common文件夾,但是它們的位置也各不相同,所以也不能使用相對於工程目錄的相對路徑。
但是至少common.cpp和common.lib是處於同一個目錄的,那么有辦法讓它自動找到嗎?
找到最佳解決方法了:
common.lib還是common.lib不變,不用改名,然后
#define LIBPATH(p,f) p##f
#pragma comment(lib,LIBPATH(__FILE__, "..\\srilm-lib\\common.lib"))
直接搞定,就算common.cpp.dir這個文件夾不存在也沒有關系。
編譯環境Vs2003。