Я знаю, что есть несколько вопросов вроде этого, нет ответа, который я нашел до сих пор, кажется, решает мою проблему.C++ - нет правила для создания цели SaltPepper.o
Я использую затмение.
Я закодировал что-то в основной функции, и он отлично работал. Я тогда внешняя функция с кодом в главном, и теперь я получаю смешные ошибки.
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <random>
#include <ctime>
#include <cstdlib>
using namespace std;
using namespace cv;
void createSaltandPepper();
int main(int argc, char** argv) {
createSaltandPepper();
return 0;
}
Нет, я пытаюсь не дать обширный пример еще раз, вот вне функции:
void createSaltandPepper() {
//mycode
}
По крайней мере, это, кажется, не орфографическая ошибка.
Однако ошибка:
make all
make: *** No rule to make target 'SaltPepper.o', needed by 'Display'.
Я удивляюсь, почему он пытается сделать tagert под названием SaltPepper.o, если моя функция называется createSaltandPepper.
Может кто-нибудь мне помочь?
Редактировать: Я не заведомо создал make-файл, поскольку я сказал, что работаю с eclipse. И снова код работает нормально, пока он находится внутри основной функции, а не внутри createSaltandPepper(). Мой файл называется DisplayImage.cpp, код выше находится в этом файле, включая функцию createSaltandPepper(); Только две функции в этом файле являются основной функцией и createSaltandPepper(); В проекте нет других исходных файлов.
Прошу прощения, если я столкнулся с такой глупостью: я программист на Java и не имею понятия о make-файлах и т. Д.
Смотрите этот скриншот:
теперь я создал новый проект и добавил мой старый файл в него, на этот раз назвав его Display.cpp
«строить все» привела к ошибке в subdir.mk, который гласит:
subdir.mk:18: recipe for target 'Display.o' failed
make: *** [Display.o] Error 1
полное сообщение об ошибке для сборки выглядит следующим образом:
make all
Building file: ../Display.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0-std=c++11 -MMD -MP -MF"Display.d" -MT"Display.d" -o"Display.o" "../Display.cpp"
subdir.mk:18: recipe for target 'Display.o' failed
g++: error: argument to ‘-fmessage-length=’ should be a non-negative integer
make: *** [Display.o] Error 1
Обновление
я перешел на Netbeans. Теперь он работает.
Вы [толкнул это?] (Https://www.youtube.com/watch?v=vCadcBR95oU). Вы должны подтолкнуть его к действию. –
Это не имеет ничего общего с C++. У вас проблемы с вашим файлом. Шаг 1, чтобы научиться разрабатывать с помощью C++: научиться распознавать фактическое сообщение об ошибке C++ от компилятора по сравнению с вашей системой сборки. –
Это повод для вас что-то сделать ... Это сделало bytheway работать отлично, если весь код был в главной функции – user1862770