Меню

Ошибка при сборке visual studio

При сборке проекта появляется неизвестная ошибка которой раньше не было:

Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ cvUpdateMotionHistory в функции «void __cdecl update_mhi(struct _IplImage *,struct _IplImage *,int)» (?update_mhi@@YAXPEAU_IplImage@@0H@Z)

Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ cvCalcMotionGradient в функции «void __cdecl update_mhi(struct _IplImage *,struct _IplImage *,int)» (?update_mhi@@YAXPEAU_IplImage@@0H@Z)

Сам проект:

#ifdef _CH_
#pragma
package <opencv>
#endif


#ifndef _EiC
// motion templates sample code

#include "opencvcv.h"
#include "opencvhighgui.h"
#include <time.h>
#include <math.h>
#include <ctype.h>
#include <stdio.h>
#endif

using namespace cv;

static void help(void)
{
	printf(
		"nThis program demonstrated the use of motion templates -- basically using the gradientsn"
		"of thresholded layers of decaying frame differencing. New movements are stamped on top with floating systemn"
		"time code and motions too old are thresholded away. This is the 'motion history file'. The program reads from the camera of your choice or fromn"
		"a file. Gradients of motion history are used to detect direction of motoin etcn"
		"Usage :n"
		"./motempl [camera number 0-n or file name, default is camera 0]n"
		);
}


// various tracking parameters (in seconds)
const double MHI_DURATION = 1;
const double MAX_TIME_DELTA = 0.5;
const double MIN_TIME_DELTA = 0.05;
// number of cyclic frame buffer used for motion detection
// (should, probably, depend on FPS)
const int N = 4;

// ring image buffer
IplImage **buf = 0;
int last = 0;

// temporary images
IplImage *mhi = 0; // MHI
IplImage *orient = 0; // orientation
IplImage *mask = 0; // valid orientation mask
IplImage *segmask = 0; // motion segmentation map
CvMemStorage* storage = 0; // temporary storage

IplImage *mhi_1 = 0;
IplImage *dst_1 = 0;






// parameters:
//  img - input video frame
//  dst - resultant motion picture
//  args - optional parameters
static void  update_mhi(IplImage* img, IplImage* dst, int diff_threshold)
{
	double timestamp = (double)clock() / CLOCKS_PER_SEC; // get current time in seconds
	CvSize size = cvSize(img->width, img->height); // get current frame size
	int i, idx1 = last, idx2;
	IplImage* silh;
	CvSeq* seq;
	CvRect comp_rect;
	double count;
	double angle;
	CvPoint center;
	double magnitude;
	CvScalar color;

	// allocate images at the beginning or
	// reallocate them if the frame size is changed
	if (!mhi || mhi->width != size.width || mhi->height != size.height) {
		if (buf == 0) {
			buf = (IplImage**)malloc(N*sizeof(buf[0]));
			memset(buf, 0, N*sizeof(buf[0]));
		}

		for (i = 0; i < N; i++) {
			cvReleaseImage(&buf[i]);
			buf[i] = cvCreateImage(size, IPL_DEPTH_8U, 1);
			cvZero(buf[i]);
		}
		cvReleaseImage(&mhi);
		cvReleaseImage(&orient);
		cvReleaseImage(&segmask);
		cvReleaseImage(&mask);

		mhi = cvCreateImage(size, IPL_DEPTH_32F, 1);
		cvZero(mhi); // clear MHI at the beginning
		orient = cvCreateImage(size, IPL_DEPTH_32F, 1);
		segmask = cvCreateImage(size, IPL_DEPTH_32F, 1);
		mask = cvCreateImage(size, IPL_DEPTH_8U, 1);
	}

	cvCvtColor(img, buf[last], CV_BGR2GRAY); // convert frame to grayscale

	idx2 = (last + 1) % N; // index of (last - (N-1))th frame
	last = idx2;

	silh = buf[idx2];
	cvAbsDiff(buf[idx1], buf[idx2], silh); // get difference between frames

	cvThreshold(silh, silh, diff_threshold, 1, CV_THRESH_BINARY); // and threshold it
	cvUpdateMotionHistory(silh, mhi, timestamp, MHI_DURATION); // update MHI

	// convert MHI to blue 8u image
	cvCvtScale(mhi, mask, 255. / MHI_DURATION,
		(MHI_DURATION - timestamp)*255. / MHI_DURATION);
	cvZero(dst);
	cvMerge(mask, 0, 0, 0, dst);

	// calculate motion gradient orientation and valid orientation mask
	cvCalcMotionGradient(mhi, mask, orient, MAX_TIME_DELTA, MIN_TIME_DELTA, 3);

	if (!storage)
		storage = cvCreateMemStorage(0);
	else
		cvClearMemStorage(storage);

	// segment motion: get sequence of motion components ...
}

int main( int argc, char** argv)
{
	IplImage* motion = 0;
	CvCapture* capture = 0;
	if
		(argc == 1 || (argc == 2 && strlen(argv[1]) == 1 && isdigit(argv[1][0])))
		capture = cvCaptureFromCAM(argc == 2 ? argv[1][0] -
		'0'
		: 0);
	else
	if
		(argc == 2)
		capture = cvCaptureFromFile(argv[1]);
	if
		(capture)
	{
		cvNamedWindow( "Motion", 1);
		for
			(;;)
		{
			IplImage* image;
			if
				(!cvGrabFrame(capture))
				break;
			image = cvRetrieveFrame(capture);
			if
				(image)
			{
				if
					(!motion)
				{
					motion = cvCreateImage(cvSize(image->width, image->height), 8, 3);
					cvZero(motion);
					motion->origin = image->origin;
				}
			}
			update_mhi(image, motion, 30);
			
			cvShowImage( "Motion", motion);
			if
				(cvWaitKey(10) >= 0)
				break;
		}
		cvReleaseCapture(&capture);
		cvDestroyWindow( "Motion" );
	}
	return
		0;
}

I recently updated from Visual Studio 2017 Community Edition to Visual Studio 2019 Community Edition.

Now, if I build my solution with errors, they will show up in the build output, but not all of them will appear in the error list. It would appear only errors of open files will show up in the error list. This is incredibly annoying.

I am not alone in this issue. It has been reported many times on Microsoft’s forums, but no one has a definitive solution.

I have tried a variety of solutions people suggested in those threads:

  • I have ensured the filters are legitimate: Entire Solution, Errors enabled, Build + Intellisense.
  • I have tried deleting the .vs folder and restarting Visual Studio.
  • I just updated to the very latest Visual Studio 2019 version. Supposedly there are many different versions of this error, happening in versions of Visual Studio all the way back to 2017. Some supposedly have been fixed…?
  • I have disabled parallel project loading.

I have experienced this before in other versions of Visual Studio with Razor pages. To my knowledge, that’s to be expected in Razor though.

The only other factor that I severely doubt impacts anything is that it’s a Visual Studio project generated by Unity editor. From what I’ve read, ASP.NET, Razor, Xamarin, and other frameworks have each had their own version of issue reported. Perhaps Unity is afflicted by it too, but I don’t see how or why. I doubt Unity’s auto-generated Visual Studio projects are that different from your standard library projects.

I recently updated from Visual Studio 2017 Community Edition to Visual Studio 2019 Community Edition.

Now, if I build my solution with errors, they will show up in the build output, but not all of them will appear in the error list. It would appear only errors of open files will show up in the error list. This is incredibly annoying.

I am not alone in this issue. It has been reported many times on Microsoft’s forums, but no one has a definitive solution.

I have tried a variety of solutions people suggested in those threads:

  • I have ensured the filters are legitimate: Entire Solution, Errors enabled, Build + Intellisense.
  • I have tried deleting the .vs folder and restarting Visual Studio.
  • I just updated to the very latest Visual Studio 2019 version. Supposedly there are many different versions of this error, happening in versions of Visual Studio all the way back to 2017. Some supposedly have been fixed…?
  • I have disabled parallel project loading.

I have experienced this before in other versions of Visual Studio with Razor pages. To my knowledge, that’s to be expected in Razor though.

The only other factor that I severely doubt impacts anything is that it’s a Visual Studio project generated by Unity editor. From what I’ve read, ASP.NET, Razor, Xamarin, and other frameworks have each had their own version of issue reported. Perhaps Unity is afflicted by it too, but I don’t see how or why. I doubt Unity’s auto-generated Visual Studio projects are that different from your standard library projects.

Привет всем!

Сегодня решил попрактиковаться в написании программ с использованием библиотеки OpenCV версии 2.4.13.

Скачал, установил по инструкции, вошел в MSVS 2013, создал пустой проект на С++. В свойствах проекта поставил пути к папкам либов, пути к инклюд папкам (ко всем), сами либы в настройках компоновщика (во вкладке ввод),
и даже пути к папкам модулей OpenCV (тоже ко всем). Вбил вот этот код:

#include <opencv2/opencv.hpp>
int main(int argc, char** argv)
{
	// задаём высоту и ширину картинки
	int height = 620;
	int width = 440;
	// задаём точку для вывода текста
	CvPoint pt = cvPoint(height / 4, width / 2);
	// Создаёи 8-битную, 3-канальную картинку
	IplImage* hw = cvCreateImage(cvSize(height, width), 8, 3);
	// заливаем картинку чёрным цветом
	cvSet(hw, cvScalar(0, 0, 0));
	// инициализация шрифта
	CvFont font;
	cvInitFont(&font, CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0, 0, 1, CV_AA);
	// используя шрифт выводим на картинку текст
	cvPutText(hw, "OpenCV Step By Step", pt, &font, CV_RGB(150, 0, 150));

	// создаём окошко
	cvNamedWindow("Hello World", 0);
	// показываем картинку в созданном окне
	cvShowImage("Hello World", hw);
	// ждём нажатия клавиши
	cvWaitKey(0);

	// освобождаем ресурсы
	cvReleaseImage(&hw);
	cvDestroyWindow("Hello World");
	return 0;
}

Жмякаю Отладка-Запуск без отладки- пишет следующий проект устарел: название проекта. Выполнить его сборку? Жму Да. Выдает: возникли ошибки сборки. продолжить и запустить последний успешно построенный вариант? Жму нет. Да не жму, т.к.
я недавно скомпилировал кривой код, который к сожалению не могу восстановить, он скомпилировался без ошибок, и теперь когда жму Да, открывается кривая консолька, с непонятными ошибками.

Собственно, когда нажал Нет, пишет кучу ошибок, а именно:

Ошибка 1
error LNK2019: ссылка на неразрешенный внешний символ _cvCreateImage в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 2
error LNK2019: ссылка на неразрешенный внешний символ _cvReleaseImage в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 3
error LNK2019: ссылка на неразрешенный внешний символ _cvSet в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 4
error LNK2019: ссылка на неразрешенный внешний символ _cvInitFont в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 5
error LNK2019: ссылка на неразрешенный внешний символ _cvPutText в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 6
error LNK2019: ссылка на неразрешенный внешний символ _cvNamedWindow в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 7
error LNK2019: ссылка на неразрешенный внешний символ _cvShowImage в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 8
error LNK2019: ссылка на неразрешенный внешний символ _cvDestroyWindow в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 9
error LNK2019: ссылка на неразрешенный внешний символ _cvWaitKey в функции _main
c:UsersDaniildocumentsvisual studio 2013ProjectsTestARTestARmain.obj
TestAR
Ошибка 10
error LNK1120: неразрешенных внешних элементов: 9
c:usersdaniildocumentsvisual studio 2013ProjectsTestARDebugTestAR.exe
TestAR

Вот такие вот дела. Надеюсь, поможете.

Заранее спасибо.

P.S. код скопипастил с сайта с инструкцией.

0 / 0 / 0

Регистрация: 11.09.2021

Сообщений: 3

1

VS 2019

Ошибка сборки

11.09.2021, 19:39. Показов 3806. Ответов 4


Добрый вечер! Решил вернуться к упражнениям по с++, открыл VS19 и столкнулся с проблемой сборки проекта. 4 месяца назад все работало как часы, но сейчас даже дефолтный хелло ворлд не компилируется при создании консольного приложения. Подумал, что переустановка поможет. Помогла до первого закрытия вижуалки. (переустанавливал несколько раз, каждый раз компилируется только до первого закрытия).
Посему, пара вопросов: уже просто интересно, в чём может быть проблема (почему всё адекватно работает до первого закрытия, после переустановки снова все работает и так по кругу)? Как всё это исправлять? (желательно, без переустановки ос)
П.С. Разумеется, шерстил форумы, преимущественно ру, немного зарубежных, проблема не у меня одного, но всё часто сводится к «Кривой код, ищи ошибки», таких прошу идти мимо, ведь не компилируется даже базовый хелло ворлд.

Миниатюры

Ошибка сборки
 

Ошибка сборки
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



фрилансер

4430 / 3941 / 858

Регистрация: 11.10.2019

Сообщений: 10,421

11.09.2021, 20:44

2

Iridea, а что за плашка странная вверху справа АДМИНИСТРАТОР ? У меня такой нет. Может, студия запущена от имени администратора, а этого не нужно? Попробуй запустить от текущего юзера

Добавлено через 51 секунду
да, я у себя проверил — запускаю от имени администратора, появляется ADMIN

явно что-то с этим связано



0



0 / 0 / 0

Регистрация: 11.09.2021

Сообщений: 3

12.09.2021, 00:31

 [ТС]

3

Да, к такому же выводу пришел, сейчас буду дальше копаться)

Добавлено через 3 часа 0 минут
По умолчанию запускается не от имени администратора, плашка висит там в обоих случаях

Сменил языковой пакет, снова закомпилировало до первого выхода из программы



0



0 / 0 / 0

Регистрация: 11.09.2021

Сообщений: 3

12.09.2021, 13:07

 [ТС]

4

Для всех тех, кто так же только начинает свой путь и неспособен решить свои проблемы сам (а с такой же проблемой много людей), скажу что кончилось всё тем, что я скачал себе превью VS22 (мне полный функционал не нужен, монетизировать всё равно не смогу ничего), и там таких проблем нет. Остаётся только думать, что ошибка вызвана из-за самой вижуалки, но мне не хватает ни знаний, ни желания, чтоб копаться во всех настройках самой иде и проекта.



0



Just Do It!

3425 / 1896 / 623

Регистрация: 23.09.2014

Сообщений: 5,979

Записей в блоге: 1

13.09.2021, 10:08

5

Цитата
Сообщение от Iridea
Посмотреть сообщение

снова закомпилировало до первого выхода из программы

перед повторной компиляцией(сборкой) проверьте не запущен хеллоуворлд собранный первой попыткой?!
закройте его(например, из панели задач — самый хардкорный вар)
и повторите компиляцию.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

13.09.2021, 10:08

5

изображение ошибки сборкиЯ установил Visual Studio Community 2017 и выбрал Разработка для рабочего стола в C ++. Все установлено.

Я создал новый проект, как Файл -> Новый -> Visual C ++ -> Пустой проект.

После запуска программы, нажав Локальный отладчик Windows, Я получаю следующую ошибку.

Ошибка сборки:
ошибка сборки

Полная ошибка:
полная ошибка

Я также проверил предыдущие вопросы, но не смог найти решение.

Примечание. Я не получаю консольное приложение Win32 (Файл -> Создать -> Проект -> Visual C ++ -> Консольное приложение Win32). Я получаю только консольное приложение Windows. Даже в этом также я получаю ошибку сборки.

-1

Решение

-1073741515 означает: «Приложению не удалось правильно инициализироваться (0xc0000135)» Поскольку вы не зависите от CLR, щелкните правой кнопкой мыши имя проекта и отключите поддержку общеязыковой среды выполнения в свойствах проекта.

введите описание изображения здесь

0

Другие решения

Вместо выбора Пустой проект для ваших первых экспериментов с VS2017 выберите один из типов проектов, который даст вам рабочий скелет. Если вы хотите попробовать консольное приложение C ++, тип проекта будет Консольное приложение Windows. Это даст вам готовое приложение с Main() функция, которая просто имеет return 0; утверждение в нем.

Ударь F11 ключ или выберите отлаживать/Шаг в из меню, чтобы скомпилировать ваш проект и перейти в Main(), Он остановится на открывающейся фигурной скобке. Удар F11 снова, и это будет шаг к return 0; заявление. Удар F5 сейчас он продолжит работу и выйдет из программы. Теперь вы убедились, что можете успешно создавать, запускать и отлаживать свой код.

Как только вы убедились, что это работает, вы можете начать добавлять код и отлаживать его. Пустой проект предназначен для тех случаев, когда вы действительно знаете, что делаете, и хотите начать с нуля, в противном случае один из предопределенных проектов — гораздо более простой способ начать работу.

1

У меня возникла ошибка при отладке кода Java в коде Visual Studio.
Ошибка ниже

build failed, do you want to continue?

Я попытался очистить рабочее пространство, но это не сработало.
Пожалуйста, как я могу исправить эту проблему?

Перейти к ответу
Данный вопрос помечен как решенный


Ответы
7

Обновлять. Задача решена Я решил эту проблему, очистив кеш рабочей области в VS-коде. Вот ссылка на соответствующую страницу: Каталог чистой рабочей области VSCODE. Я переименовал несколько папок, имен классов и пакетов. Видимо плагину RedHat-Developer удалось рассинхронизировать. Файл .classpath не синхронизировался с файлом POM. Очистка кеша рабочей области заставила плагин воссоздать данные проекта из спецификации maven. Задача решена. Не уверен, но если кто-то из проекта RedHat это прочитает, мне это покажется ошибкой или недостатком. В любом случае это можно обойти.

Исходный ответ следует:

Я думаю, что Лю Бэй был недостаточно ясным. У меня такая же проблема. У меня есть проект, который отлично строится в Maven, и когда я запускаю отладчик в Visual Studio Code, это уведомление появляется в правом нижнем углу окна VSCode.

Очевидно, расширение «Отладчик для Java» считает, что существует проблема сборки. Однако нет сообщений об ошибках на вкладках ПРОБЛЕМЫ, ВЫВОД, ОТЛАДКА КОНСОЛИ или ТЕРМИНАЛ.

Сборки проекта и пакеты в Maven прекрасны, и его можно отлаживать в режиме присоединения, что в лучшем случае утомительно.

В VSCode что-то происходит, о чем я нигде не сообщаю. Я подозреваю, что подключаемый модуль RedHat VSCode для Java тоже используется, но мне нужна помощь в выяснении того, как обойти эту проблему.

Я должен сказать, что мы тратим слишком много времени на решение проблем с инструментами и зависимостями и недостаточно времени на приложение. Проект, над которым мы работаем, предназначен для распространения с открытым исходным кодом. Spring Framework кажется идеальным для наших целей, но инструменты не так уж и много. Мы не очень далеко продвинулись в этом проекте, и меня уже настаивают на переходе на .NET core MVC.

Действительно нужна небольшая помощь …

У меня это не сработало, но я выяснил, что сработало.

Прежде всего, глядя на плагин Java Dependencies, я намекнул, что что-то не синхронизировано. Имя моего приложения (артефакта) не соответствует имени в древовидном представлении Java Dependencies.

Это было исправлено путем полной очистки папки VSCode workspaceStorage!

В моем случае эта папка находилась в (Windows 10):

C:Users<myuser>AppDataRoamingCodeUserworkspaceStorage

Если вы не можете найти его в этом месте, просто найдите папку workspaceStorage.

Затем нажмите ctrl + shift + p (в моем случае), чтобы открыть запрос действия VSCode. Затем выберите команду:

Java: Open Java Language Server Log File

Это откроет файл журнала, который обычно не отображается при построении вашего кода Java, и сообщит вам, что именно пошло не так при сборке.

В моем случае это был конфликт, так как у меня было два файла AppConfig.java, один в основном и один в тестовом. Maven прекрасно справляется с этим, но, очевидно, построитель VSCode Java — нет.

Очевидно, это ошибки в плагинах, о которых я сообщу участникам GitHub, но пока нам придется немного поработать вручную.

Тем не менее, я надеюсь, что это поможет всем вам, разочаровавшимся разработчикам VSCode Java.

Попробуйте очистить кеш или
Попробуйте добавить свои файлы в новую рабочую область, у меня это сработало!

Итак, прочитав на этой странице несколько комментариев о кеш-памяти и рабочей области, я предпочел сделать что-нибудь простое. Я просто закрыл и открыл свой VS и Voilá Build up все мои решения 🙂

Ошибка сборки в VsCode

Эта ошибка возникает из-за того, что в папке вашей рабочей области в другом исходном коде есть ошибки.

Итак, создайте новую папку и сделайте ее папкой рабочей области, а затем напишите свои коды в этой папке и запустите ее.

У меня тоже была эта ошибка, и она работает для меня, поэтому проверьте свою.

Используя OSX, мне удалось преодолеть эту проблему: вы можете получить доступ либо из своего терминала, либо просто использовать ярлык (сдвиг команды и c) выберите «Базовая система», затем «Библиотека», найдите папку Java, затем нажмите папку виртуальных машин Java. Проверьте, есть ли актуальная версия jdk (самая последняя). Я заметил, что у меня было две папки jdk, одна, вероятно, унаследованная от предыдущей установки, и самая последняя версия jdk-15. Перетащите jdk-14 в корзину, введите пароль, закройте искатель и перезапустите VSCode.
Теперь все работает нормально!

У меня такая же проблема.
Я только что загрузил это, предоставленное vs code
пакет расширений Java
щелкните ссылку, загрузите и откройте ее. он автоматически настроит vs code для java.
ссылка ниже…

Https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack

Другие вопросы по теме

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при сборе данных для административные шаблоны
  • Ошибка при регистрации на закупки гов