1、多個文件包含main函數(shù),運(yùn)行時報錯
(1)錯誤信息
LNK1169 找到一個或多個多重定義的符號,如下圖所示:
(2)原因
多個文件中都包含main函數(shù),main函數(shù)是程序啟動入囗,出現(xiàn)多個時,程序不知道先啟動哪個。
(3)解決方案
3.1、右鍵單擊不要運(yùn)行的C++源文件?-> 選擇“屬性”
注意是不要運(yùn)行的源文件,將在運(yùn)行時排除此文件。
3.2、配置屬性 -> 常規(guī) -> “從生成中排除” 選擇下拉列表中 “是” -> 確定
?
3.3、被生成排除的文件出現(xiàn)一個紅色圓圈背景減號標(biāo)記
2、使用 cl /dl reportSingleClassLayoutXXX時報錯
命令:?cl /dl reportSingleClassLayoutSub "rs.cpp"
(1)報錯信息?
F:\CPlus\>cl /dl reportSingleClassLayoutSub "rs.cpp"
用于 x86 的 Microsoft (R) C/C++ 優(yōu)化編譯器 19.32.31332 版
版權(quán)所有(C) Microsoft Corporation。保留所有權(quán)利。cl: 命令行 warning D9002 :忽略未知選項“/dl”
cl: 命令行 warning D9024 :無法識別的源文件類型“reportSingleClassLayoutSub”,假定為對象文件
rs.cpp
E:\Program\VisualStudio\VC\Tools\MSVC\14.32.31326\include\ostream(301): warning C4530: 使用了 C++ 異常處理程序,但未啟用展開語義。請指定 /EHsc
E:\Program\VisualStudio\VC\Tools\MSVC\14.32.31326\include\ostream(294): note: 在編譯 類 模板 成員函數(shù)“std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned int)”時
rs.cpp(23): note: 查看對正在編譯的函數(shù) 模板 實例化“std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned int)”的引用
rs.cpp(23): note: 查看對正在編譯的 類 模板 實例化“std::basic_ostream<char,std::char_traits<char>>”的引用
Microsoft (R) Incremental Linker Version 14.32.31332.0
Copyright (C) Microsoft Corporation. ?All rights reserved./out:reportSingleClassLayoutSub.exe
reportSingleClassLayoutSub
rs.obj
LINK : fatal error LNK1181: 無法打開輸入文件“reportSingleClassLayoutSub.obj”
(2)原因
命令中/dl 有問題,應(yīng)該是d1,是數(shù)字1,而不是小寫字母l
(3)解決方案
正確命令:??cl /d1 reportSingleClassLayoutSub "rs.cpp"
執(zhí)行結(jié)果如下:?
F:\CPlus\>cl /d1 reportSingleClassLayoutSub "rs.cpp"
用于 x86 的 Microsoft (R) C/C++ 優(yōu)化編譯器 19.32.31332 版
版權(quán)所有(C) Microsoft Corporation。保留所有權(quán)利。rs.cpp
class Sub ? ? ? size(16):
? ? ? ? +---
?0 ? ? ?| +--- (base class Base)
?0 ? ? ?| | a
?4 ? ? ?| | b
?8 ? ? ?| | c
? ? ? ? | +---
12 ? ? ?| d
? ? ? ? +---
E:\Program\VisualStudio\VC\Tools\MSVC\14.32.31326\include\ostream(301): warning C4530: 使用了 C++ 異常處理程序,但未啟用展開語義。請指定 /EHsc
E:\Program\VisualStudio\VC\Tools\MSVC\14.32.31326\include\ostream(294): note: 在編譯 類 模板 成員函數(shù)“std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned int)”時
rs.cpp(23): note: 查看對正在編譯的函數(shù) 模板 實例化“std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned int)”的引用
rs.cpp(23): note: 查看對正在編譯的 類 模板 實例化“std::basic_ostream<char,std::char_traits<char>>”的引用
Microsoft (R) Incremental Linker Version 14.32.31332.0
Copyright (C) Microsoft Corporation. ?All rights reserved.文章來源:http://www.zghlxwxcb.cn/news/detail-450402.html/out:rs.exe
rs.obj文章來源地址http://www.zghlxwxcb.cn/news/detail-450402.html
到了這里,關(guān)于C++ 遇到問題匯總及解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!