C ++ Rectangle Faults (ld возвращен 1 статус выхода) [duplicate]

Поскольку он хочет использовать switch (), я удивлен, что никто не поставил это еще:

var test = document.getElementById("test");
var testClasses = test.className.split(" ");
test.innerHTML = "";
for(var i=0; i<testClasses.length; i++) {
    switch(testClasses[i]) {
        case "class1": test.innerHTML += "I have class1<br/>"; break;
        case "class2": test.innerHTML += "I have class2<br/>"; break;
        case "class3": test.innerHTML += "I have class3<br/>"; break;
        case "class4": test.innerHTML += "I have class4<br/>"; break;
        default: test.innerHTML += "(unknown class:" + testClasses[i] + ")<br/>";
    }
}
7
задан Bo Persson 22 June 2012 в 10:54
поделиться

3 ответа

g ++ main.cpp Help.cpp

Вы должны сообщить компилятору все файлы, которые вы хотите скомпилировать, а не только первый.

15
ответ дан john 26 August 2018 в 09:53
поделиться

Вы должны добавить help.o в вашу строку g ++:

g++ -c help.cpp -o help.o
g++ help.o main.cpp

Разделив ее на две строки, вы можете сохранить время компиляции (в случае больших проектов), потому что вы можете скомпилировать help.cpp только когда он был изменен. make и Makefile, используемые хорошо, сэкономит вам много головной боли:

#Makefile
all: main

main: help main.cpp
    g++ -o main help.o main.cpp

help: help.cpp
    g++ -c -o help.o help.cpp
8
ответ дан Jakub M. 26 August 2018 в 09:53
поделиться

У меня была такая же проблема с моим дистрибутивом Linux Lubuntu, и это создавало проблему для моего конструктора, деструктора, он не распознавал их.

На самом деле это отключается, если вы просто скомпилируете все три файла вместе. Итак, как только вы сохранили все свои файлы, просто выполните это:

$ g++ main.cpp Help.h Help.cpp
$ ./a.out

./ a.out - это исполняемый файл для Linux, извините, но я не знаю о Windows. И ваша программа будет работать плавно.

0
ответ дан Sankalp Arora 26 August 2018 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: