2017-01-02 3 views
-1

Я пытаюсь запустить этот простой код в QT Creator.Создатель QT: ошибка: символы (символы) не найдены для архитектуры x86_64

#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; 
    } 

Но я продолжаю получать эти две проблемы.

  1. ошибка: символ (ы) не найдено для архитектуры x86_64

  2. ошибка: команда линкер потерпела неудачу с кодом выхода 1 (используйте опцию -v, чтобы вызов)

и полная описание, которое я получаю, это. Внутренний вывод компиляции.

Undefined symbols for architecture x86_64: "Main()", referenced from: Main(int, char**) in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [simple-project.app/Contents/MacOS/simple-project] Error 1 00:04:36: The process "/usr/bin/make" exited with code 2. Error while building/deploying project simple-project (kit: Desktop Qt 5.7.0 clang 64bit) When executing step "Make" 00:04:36: Elapsed time: 00:27.

+0

Я вставил ваш код в main.cpp, и он отлично работает здесь. На самом деле больше кода в вашем случае? – E4z9

ответ

0

У вас нет проблем с вашим кодом, если вы скопируете его в новый проект, который он компилирует просто отлично. Проблема в том, что некоторые файлы .obj или файл Makefile имеют проблемы. Эти файлы в основном содержат скомпилированный код, который еще не был связан. Эти файлы не всегда обновляются в каждой компиляции, только когда исходный код, сгенерированный ими, изменился. Это означает, что когда параметры проекта были изменены (что вы, по-видимому, сделали), эти файлы не обязательно меняются в соответствии с новыми настройками, поэтому он генерирует ошибки. Эта система предназначена для ускорения компиляции, но иногда может быть неприятной, как в вашем случае. Чтобы решить вашу проблему, просто удалите папку, содержащую эти файлы и скомпилированный файл .exe. С Qt Creator эта папка обычно имеет имя, которое выглядит примерно так: build-untitled-Desktop_Qt_5_7_0_MSVC2015_32bit-Release. Когда вы удаляете папку, все файлы будут удалены, поэтому на этот раз компилятору придется создавать новые файлы с правильными настройками.

Смежные вопросы