我正在尝试在QT Creator中运行这个简单的代码。
#include<iostream>
using namespace std;
const int SENTINEL = 0;
int main() {
cout<<"This program adds a list of numbers "<<endl;
cout<<"Use "<<SENTINEL<<" to signal the end."<<endl;
int total = 0;
while(true) {
int value;
cout<<" ? ";
cin>>value;
if(value == SENTINEL) break;
total += value;
}
cout<<"The total is "<<total<<endl;
return 0;
}
但我继续解决这两个问题。
错误:找不到架构x86_64的符号
错误:链接器命令失败,退出代码为1(使用-v查看调用)
我得到的完整描述就是这个。内部编译输出。
架构x86_64的未定义符号:“Main()”,引用 从: main.o中的Main(int,char **):未找到架构x86_64 clang的符号:错误:链接器命令失败并带有退出代码 1(使用-v查看调用)make:*** [simple-project.app/Contents/MacOS/simple-project]错误1 00:04:36: 进程“/ usr / bin / make”退出代码2.错误时 构建/部署项目简单项目(套件:桌面Qt 5.7.0 clang 64bit)执行步骤“Make”00:04:36:经过时间:00:27。
答案 0 :(得分:0)
您的代码没有问题,如果您将其复制/粘贴到新项目中,它编译得很好。问题是某些.obj文件或Makefile文件存在问题。这些文件基本上包含尚未链接的已编译代码。只有在生成它们的源代码发生更改时,才会在每次编译时始终更新这些文件。这意味着当项目设置已更改(您显然已经这样做)时,这些文件不必更改以适应新设置,因此会生成错误。这个系统是为了使编译更快,但有时可能会像你的情况一样令人讨厌。要解决您的问题,只需删除包含这些文件的文件夹和编译的.exe文件。使用Qt Creator,此文件夹通常具有类似build-untitled-Desktop_Qt_5_7_0_MSVC2015_32bit-Release
的名称。删除文件夹时,将删除所有文件,因此编译器必须在此次使用正确的设置生成新文件。