qt的类函数如何调调用外部独立函数的问题
我在qt里建立了mainwindow类做界面,需要把编写好的计算函数calculate()调用一下。我把函数calculate()声明放到func.h函数定义func.c...
我在qt里建立了mainwindow类做界面,需要把编写好的 计算函数calculate()调用一下。
我把函数calculate()声明放到func.h 函数定义 func.cpp里,
如果 mainwindow.cpp 包含include"func.h " ,编译会报错: 无法找到函数calculate();
如果 mainwindow.cpp 包含include"func.cpp" 会无法编译;
如果 mainwindow.cpp 里面定义calculate() 程序会正常执行, 但是我想把calculate()放到独立的文件里,这样清晰些。
怎样才能把 calculate() 放到独立的文件里呢?
calculate ()是inline 函数, 在cpp 中如何定义呢? 展开
我把函数calculate()声明放到func.h 函数定义 func.cpp里,
如果 mainwindow.cpp 包含include"func.h " ,编译会报错: 无法找到函数calculate();
如果 mainwindow.cpp 包含include"func.cpp" 会无法编译;
如果 mainwindow.cpp 里面定义calculate() 程序会正常执行, 但是我想把calculate()放到独立的文件里,这样清晰些。
怎样才能把 calculate() 放到独立的文件里呢?
calculate ()是inline 函数, 在cpp 中如何定义呢? 展开
展开全部
正确的做法就是在 mainwindow.cpp 里面去包含 func.h
编译会报错: 无法找到函数calculate(); 说明编译器没有找到 calculate函数的实现
这里就要分成两种情况..
一种就是编译器没有找到 func.cpp 这个文件,你可以尝试把 func.cpp 加入到工程里面或把func.cpp文件所在路径(完整路径)加入到Qt pro 文件中
DEPENDPATH = 你的路径..
另一种就是你的 calculate() 函数格式写错了.所以找到了func.cpp文件也找不到 calculate 函数.
因为 C和C++的编译规则不一样... 试试在extern "C"{
func.h
}
编译会报错: 无法找到函数calculate(); 说明编译器没有找到 calculate函数的实现
这里就要分成两种情况..
一种就是编译器没有找到 func.cpp 这个文件,你可以尝试把 func.cpp 加入到工程里面或把func.cpp文件所在路径(完整路径)加入到Qt pro 文件中
DEPENDPATH = 你的路径..
另一种就是你的 calculate() 函数格式写错了.所以找到了func.cpp文件也找不到 calculate 函数.
因为 C和C++的编译规则不一样... 试试在extern "C"{
func.h
}
2015-06-18 · 知道合伙人教育行家
关注
展开全部
正确的做法就是在 mainwindow.cpp 里面去包含 func.h 编译会报错:
无法找到函数calculate();
说明编译器没有找到 calculate函数的实现 这里就要分成两种情况..
一种就是编译器没有找到 func.cpp 这个文件,你可以尝试把 func.cpp 加入到工程里面或把func.cpp文件所在路径(完整路径)加入到Qt pro 文件中 DEPENDPATH = 你的路径..
另一种就是你的 calculate() 函数格式写错了.
所以找到了func.cpp文件也找不到 calculate 函数. 因为 C和C++的编译规则不一样...
试试在extern "C"{ func.h }
无法找到函数calculate();
说明编译器没有找到 calculate函数的实现 这里就要分成两种情况..
一种就是编译器没有找到 func.cpp 这个文件,你可以尝试把 func.cpp 加入到工程里面或把func.cpp文件所在路径(完整路径)加入到Qt pro 文件中 DEPENDPATH = 你的路径..
另一种就是你的 calculate() 函数格式写错了.
所以找到了func.cpp文件也找不到 calculate 函数. 因为 C和C++的编译规则不一样...
试试在extern "C"{ func.h }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-05
展开全部
你的问题和Qt关系不大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询