2015-12-17 45 views
0

我在Visual Studio 2013中遇到了一些嚴重的問題。我有兩個文件的C++控制檯項目:Main.cpp和A.cpp,我用#include "A.cpp"導入A.cpp Main.cpp的。C++ visual studio無法正常生成

這是問題:當我編輯A.cpp並運行Main.cpp時,更改不會發生。我也必須更改Main.cpp,只有這樣Visual Studio纔會注意到更改並正確地重新編譯所有內容。

這是非常討厭的,當我試圖改變A.cpp,任何想法如何解決這個問題?

編輯:

我試圖重新命名從Main.cpp有相同的結果A.cppA.hpp,包括A.hpp:改變A.hpp直到我改變Main.cpp如不出現在建。我曾嘗試將A.hpp同時添加到解決方案資源管理器中的頭文件和源文件中,結果仍然相同。

+3

加上'A.cpp'到VS項目。順便說一句,除非你知道你在做什麼,你不應該包含'.cpp'文件。 C++不是Java。 – Drop

+0

如何添加A.cpp到VS項目?我在Solution Explorer中的'Source Files'文件夾中看到'Main.cpp'和'A.cpp'。 – kajacx

+0

@kajacx,你有'A.h'。如果不是,則創建一個並添加它。你可以展示一個最小的工作示例,以便人們可以判斷你在做什麼錯。 – CroCo

回答

2

千萬別做#include "A.cpp"#include應包含h文件(或hpp)。如果您想在Main.cpp中使用某些在A.cpp中定義的函數,則必須創建A.h(並且不要更改A.cpp)並聲明該函數。當然,您需要在項目中添加Main.cppA.cpp

注意:如果添加到A.cpp VS項目,並留下#include "A.cpp"(未#include "A.h"),這將導致一個問題的功能重新定義從A.cpp

C++ forum簡單的解釋和other examples

+0

他應該將其添加爲「C++頭文件」(可以在文件屬性中進行更改)。 – Drop

+0

你的建議是一般健全的。但是,有些情況下,您確實需要包含「cpp」文件。我記得它用於一種技術,可以讓你在「cpp」文件中實現模板:http://www.codeproject.com/Articles/48575/How-to-define-a-template-class-in-ah -file-and-imp –

+0

@MarkoPopovic是的,我的答案相當一般,但它是針對一般問題。無論如何,謝謝你的鏈接,或許它對kajacx有用 – VolAnd

相關問題