Posted on 2011-02-17 22:59
S.l.e!ep.¢% 閱讀(5790)
評論(0) 編輯 收藏 引用 所屬分類:
VC
如果出錯如下:表明沒有把頭文件包含進來,此處"hi.h"是用戶自定義文件
正在編譯...
UseHi.cpp
d:\cpp\myobjects\reuse\usehi.cpp(1) : fatal error C1083: 無法打開包括文件:“Hi.h”: No such file or directory
生成日志保存在“file://d:\Cpp\MyObjects\Reuse\Debug\BuildLog.htm”
Reuse - 1 個錯誤,0 個警告
========== 生成: 0 已成功, 1 已失敗, 0 最新, 0 已跳過 ==========
看來是找不到Hi.h文件。不過也是,include只能是在當前目錄和系統指定目錄下查找頭文件,而我們所要導入的Hi.h文件是在我們自己建立的文件夾中,按理說也找不到它。不過這個倒也好解決:依次點擊“項目——ReUse 屬性——配置屬性——C/C++——常規”,在“附加包含目錄”中加入Hi.h所在的文件夾,本例中為D:\Cpp\MyObjects\MyClass。確定,編譯運行。——沒有了剛才的錯誤提示,不過,呵呵~
------ 已啟動生成: 項目: Reuse, 配置: Debug Win32 ------
正在編譯...
UseHi.cpp
正在編譯資源清單...
正在鏈接...
UseHi.obj : error LNK2019: 無法解析的外部符號 "public: void __thiscall Hi::hi(void)" (?hi@Hi@@QAEXXZZ),該符號在函數 _main 中被引用
D:\Cpp\MyObjects\Reuse\Debug\Reuse.exe : fatal error LNK1120: 1 個無法解析的外部命令
生成日志保存在“file://d:\Cpp\MyObjects\Reuse\Debug\BuildLog.htm”
Reuse - 2 個錯誤,0 個警告
========== 生成: 0 已成功, 1 已失敗, 0 最新, 0 已跳過 ==========
這個表明沒有.lib文件!創建了自定義文件的庫
打開要編譯的項目,依次點擊“項目——屬性——配置屬性——常規”,將“配置類型”更改為“靜態庫(.lib)”,然后F7(生成解決方案),以創建文件MyClass.lib。再回到要編譯的項目,依次點擊“項目——ReUse 屬性——配置屬性——鏈接器——常規”,在“附加庫目錄”中加入MyClass.lib所在目錄,本例中為D:\Cpp\MyObjects\MyClass\Debug。還沒完,在“鏈接器”中找到“輸入”,在“附加依賴項”中加入MyClass.lib,確定,F5,結果……呵呵,成功!
vs2008的屬性頁是個很有趣的東西,一不小心就會出錯。。
文章出處:http://www.diybl.com/course/3_program/c++/cppsl/20071119/86998.html