我有一個簡單的程序與我的main.cpp,一個頭文件func.h和另一個源文件func.cpp。我使用CLion 2016.3。我的編譯器是gcc。Clion未定義的函數參考
他們看起來像這樣:
Main.cpp的
#include <iostream>
#include <stdlib.h>
#include <cstdio>
#include "func.h"
int main() {
int c;
c = number(2);
printf("%i", c);
}
func.cpp
int number(int a){
return a;
}
func.h
#ifndef TEST2_FUNC_H
#define TEST2_FUNC_H
int number(int a);
#endif //TEST2_FUNC_H
我的CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(test2)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
add_executable(test2 ${SOURCE_FILES})
如果我運行生成我得到以下錯誤:
CMakeFiles\test2.dir/objects.a(main.cpp.obj): In function `main':
C:/Users/name/ClionProjects/test2/main.cpp:8: undefined reference to `number(int)'
....
我怎麼能解決這個問題?我搜索了其他類似的問題,並找到了一些解決方案,但他們沒有爲我工作,或者我不知道該怎麼做。其實我有一個C項目的問題,但問題是一樣的,我認爲解決方案將是相同的。
你能幫我嗎?
非常感謝。
請將您的CMakeList.txt – arved
您的main.cpp包含func.h嗎? – ditkin
我在我的文章中編輯了信息。我現在將讀取由llnspectable發佈的線程。 Thx到目前爲止 – Tomahawk44