Итак, я впервые попытался скомпилировать и запустить «приложение» на c ++, которое я сделал (пытаясь сделать простое упражнение для моей подруги), но при попытке запустить его на Powershell я получил эту ошибку:
Program 'Exercice_1.exe' failed to run: The specified executable is not a valid application for this OS platform.At
line:1 char:1
+ .\bin\Exercice_1.exe
+ ~~~~~~~~~~~~~~~~~~~~.
At line:1 char:1
+ .\bin\Exercice_1.exe
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed
Код - это просто попытка создать собственный список (ну, он еще не полностью закодирован, но я чувствую, что он больше связан с системой, чем с кодом ...)
Когда У меня был только ноутбук, я кодировал Code :: Blocks, но там я попытался скомпилировать и запустить с помощью командной строки на настольном компьютере, и я не знаю, нужно ли что-то устанавливать, чтобы это работало или должно ли работа.
Содержимое make-файла:
CC = g++
CFLAG = -Wall -pedantic
STD = -std=c++11
SRC = src/
INC = include/
OBJ = object/
BIN = bin/
$(BIN)Exercice_1.exe: $(SRC)Exercice_1.cpp $(OBJ)Liste.o $(OBJ)Maillon.o
$(CC) $(STD) -o $@ -c $< $(CFLAG)
$(OBJ)Liste.o: $(SRC)Liste.cpp $(INC)Liste.h $(INC)Maillon.h
$(CC) $(STD) -o $@ -c $< $(CFLAG)
$(OBJ)Maillon.o: $(SRC)Maillon.cpp $(INC)Maillon.h
$(CC) $(STD) -o $@ -c $< $(CFLAG)
clean:
rm -f -R object/*.o
rm -f -R *~
mrproper: clean
rm -f $(BIN)*.exe
Я взял его из старого упражнения, которое мне пришлось сделать, и переставил его для работы с моей текущей попыткой, и я почти уверен, что он должен работать ну, я не знаю, что не работает.
При необходимости: файл Exercice_1. cpp:
#include <iostream>
#include "../include/Maillon.h"
#include "../include/Liste.h"
int main(int argc, char* argv[]) {
Maillon<int>* maillon = new Maillon<int>(7);
std::cout << maillon->get_info() << std::endl;
return 0;
}
РЕДАКТИРОВАТЬ:
Результат g++ --version
g++.exe (MinGW.org GCC-8.2.0-5) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Системная информация:
System Type: x64-based PC
РЕДАКТИРОВАТЬ:
Обнаружена ошибка, это было в make-файле ... Поскольку я скопировал его из старого проекта, я не скопировал его правильно, вот более правильная версия:
CC = g++
CFLAG = -Wall -pedantic
STD = -std=c++11
SRC = ./src/
INC = ./include/
OBJ = ./object/
BIN = ./bin/
$(BIN)Exercice_1.exe: $(OBJ)Exercice_1.o $(OBJ)Liste.o $(OBJ)Maillon.o
$(CC) $(STD) -o $@ $^ $(CFLAG)
$(OBJ)Exercice_1.o: $(SRC)Exercice_1.cpp $(INC)Liste.h $(INC)Maillon.h
$(CC) $(STD) -o $@ -c $< $(CFLAG)
$(OBJ)Liste.o: $(SRC)Liste.cpp $(INC)Liste.h $(INC)Maillon.h
$(CC) $(STD) -o $@ -c $< $(CFLAG)
$(OBJ)Maillon.o: $(SRC)Maillon.cpp $(INC)Maillon.h
$(CC) $(STD) -o $@ -c $< $(CFLAG)
Теперь он не компилируется, но потому что я, очевидно, сделал ошибки в коде и пытаюсь их исправить.
Большое спасибо всем, и в основном mklement0 за попытку помочь, было очень приятно видеть, насколько хорошо это сообщество!
RE-RE-EDIT:
Теперь работает нормально: D