QT Creator中的链接器错误(C+;+;) 我已经尝试过和关闭了相当长的一段时间来做CS106B斯坦福课程的C++。我最近的一次尝试是使用Qt-Creator,这是他们最近为了简化工作而使用的IDE。不幸的是,我在这个IDE中遇到的问题和VS和XCode一样多。我的两个错误:
QT Creator中的链接器错误(C+;+;) 我已经尝试过和关闭了相当长的一段时间来做CS106B斯坦福课程的C++。我最近的一次尝试是使用Qt-Creator,这是他们最近为了简化工作而使用的IDE。不幸的是,我在这个IDE中遇到的问题和VS和XCode一样多。我的两个错误:,c++,macos,qt,C++,Macos,Qt,1架构x86_64的重复符号 链接器命令失败,退出代码为1 我在stackoverflow上看到的关于这个问题的其他问题都没有任何帮助,我认为这可能与在64位上运行32位库有关 我正在运行Mac OSX Yosemite,sample-qtcreator-project.pro取自 谢谢你的建议。我正在使用QtCreator 5.3.2 我的代码: 二次型 #include <cstdlib> #include <cmath> #include <iostream&
1架构x86_64的重复符号
链接器命令失败,退出代码为1
我在stackoverflow上看到的关于这个问题的其他问题都没有任何帮助,我认为这可能与在64位上运行32位库有关
我正在运行Mac OSX Yosemite,sample-qtcreator-project.pro取自
谢谢你的建议。我正在使用QtCreator 5.3.2
我的代码:
二次型
#include <cstdlib>
#include <cmath>
#include <iostream>
#include "console.h"
#include "quadratic.h"
using namespace std;
int main() {
double a, b, c, r1, r2;
getCoefficients(a, b, c);
solveQuadratic(a, b, c, r1, r2);
printRoots(r1, r2);
return 0;
}
void getCoefficients(double &a, double &b, double &c) {
cout << "Enter coefficients for the quadratic equation: " << endl;
cout << "a: ";
cin >> a;
cout << "b: ";
cin >> b;
cout << "c: ";
cin >> c;
}
void solveQuadratic(double a, double b, double c, double &x1, double &x2) {
if (a == 0) error("The coefficient 'a' must be nonzero.");
double disc = b*b - 4 * a * c;
if (disc < 0) error("This equation has no real roots.");
double sqrtDisc = sqrt(disc);
x1 = (-b + sqrtDisc) / (2 * a);
x2 = (-b - sqrtDisc) / (2 * a);
}
void printRoots(double x1, double x2) {
if (x1 == x2) {
cout << "There is a double root at " << x1 << endl;
} else {
cout << "The roots are " << x1 << " and " << x2 << endl;
}
}
void error(string msg) {
cerr << msg << endl;
exit(EXIT_FAILURE);
}
其他编译器输出:
重复符号\uuuuuz5errornst3\uuuuuu112basic\u112strinicns\u11char\u9allocatoriee在:
错误
二次型
ld:架构x86_64的1个重复符号
叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
make:**[simple project.app/Contents/MacOS/simple project]错误1
15:54:50:进程“/usr/bin/make”已退出,代码为2。
生成/部署项目简单项目时出错(工具包:桌面Qt 5.3 64位)
在执行步骤“Make”时,我可以顺利运行项目,并且我在Mac OSX Yosemite上。但令人惊讶的是,我以前也遇到过类似的问题,主要是因为llvm。只需检查一下你是否编写了完美的构造函数和析构函数。我只是尝试运行第2章早期的Quadratic.cpp程序,我甚至没有使用类,所以我的程序中没有任何构造函数/析构函数。您使用的是什么版本的Qt Creator?听起来您有重复的代码(可能是在创建新项目时自动生成的代码,再加上您自己的代码)-请特别检查
main()
函数,创建新项目可能会自动为您提供一个我认为这不是问题,我已经检查过了,main()只有一个实例。问题显示了关于重复符号的消息,但没有显示命名该符号的消息。它是main()
还是您假设的那样?
void getCoefficients(double & a, double & b, double & c);
void solveQuadratic(double a, double b, double c, double & x1, double & x2);
void printRoots(double x1, double x2);
void error(std::string msg);