Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QT Creator中的链接器错误(C+;+;) 我已经尝试过和关闭了相当长的一段时间来做CS106B斯坦福课程的C++。我最近的一次尝试是使用Qt-Creator,这是他们最近为了简化工作而使用的IDE。不幸的是,我在这个IDE中遇到的问题和VS和XCode一样多。我的两个错误:_C++_Macos_Qt - Fatal编程技术网

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);