CLION不确定对功能的参考
Clion undefined reference to function
我有一个简单的程序,我的main.cpp,一个标头文件func.h和另一个源文件func.cpp。我使用Clion 2016.3。我的编译器是GCC。
他们看起来像这样:
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})
如果我运行构建,我会收到以下错误:
CMakeFilestest2.dir/objects.a(main.cpp.obj): In function `main':
C:/Users/name/ClionProjects/test2/main.cpp:8: undefined reference to `number(int)'
....
我该如何解决?我已经搜索了其他类似的问题并找到了一些解决方案,但是它们对我不起作用,或者我不知道该怎么办。实际上,我有一个C-Project的问题,但是问题是相同的,我认为解决方案将是相同的。
你能帮我吗?
非常感谢。
确保将func.h
包括在主
#include "func.h"
并将'func.cpp'放在cmakelist.txt设置源
在此处明确列出来源。仅此而已(.cpp,.c,.cc)一起编译。如果源文件不在当前目录中,则必须指定源文件的完整路径
set(SOURCE_FILES main.cpp func.cpp)
如果要在编译中自动添加文件,则可以使用file(GLOB SOURCE_FILES *.cpp)
。但是请记住,这种"窍门"不鼓励这样做。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 多态性和功能结合
- 带内存和隔离功能的SQLite
- C++错误消息*成员参考.**初学者*
- 是否有一种方法可以避免在RVALUE和LVALUE参考中创建功能时避免重复的代码
- 模板功能不使用RVALUE参考实例化/接收呼叫
- 如何编写工厂功能以在C 中初始化constexpr参考
- 如何检查正确操作数以通过参考返回功能
- C 超载相等运算符.我应该写自己的功能以接受通过参考或值传递的参数
- Lambda通过参考传递的功能
- 提供功能版本,其中可用值和参考
- C 功能具有参考参数错误的迭代器错误.寻求解释
- CLION不确定对功能的参考
- C 性能:通过参考通过对象与功能的对象传递
- rvalue参考绑定到std ::功能类型的LVALUE
- 编译器无法在循环递归参考中找到功能
- 通过参考辅助功能传递随机数生成器MT19937是正确的吗?
- 通过递归模板中的参考传递模板功能
- 从基本指针/参考调用正确的免费功能
- 我在哪里可以找到一个官方的参考资料,列出了上交所的内在功能的运作