這是基本的,但它有一個函數原型的頭文件Test.h。然後是一個帶有函數定義Test.cpp的源代碼文件。最後,我有我的Main.cpp文件調用Test.cpp中的函數。問題是我在Main.cpp中得到一個錯誤,指出function1是未定義的。你能看到我做錯了什麼嗎?C++如何鏈接我的主類與我的頭文件?
Test.h
int function1(int);
Test.cpp的
#include "Test.h"
#include <iostream>
int main(){
}
int function1(int i){
std::cout << "fuction1(" << i << ")" << std::endl << "Returns: 1" << std::endl;
return 1;
}
Main.cpp的
#include <iostream>
#include "Test.h"
int main(){
function1(5);
}
而且Test.cpp的未編譯,直到我添加了一個main()函數。我非常流利的java,這似乎與我的想法相矛盾。在java中,我只有一個主要方法,這個方法可以在我的主類中找到。其他類有一個構造函數。請幫助我建立從java到C++的連接。
「你能看到我在做什麼錯了?」不,因爲你沒有告訴我們你如何使用你的編譯器。 – MikeCAT
我沒有問題編譯Test.cpp _without_完全superflous main()。在這個問題中,你沒有展示你所做的一切。從Test.cpp中刪除main()後,顯示的代碼絕對沒有錯。因此,您未顯示的代碼和/或其他文件/腳本必須存在什麼問題。 –
@MikeCAT我正在使用代碼塊IDE。有了這個自動編譯按鈕。通過你的評論,我假設我必須make makefile來指定編譯應該如何完成? – Vindictive