При сборке проекта появляется неизвестная ошибка которой раньше не было:
Ошибка 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 секунду явно что-то с этим связано
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 |
|
снова закомпилировало до первого выхода из программы перед повторной компиляцией(сборкой) проверьте не запущен хеллоуворлд собранный первой попыткой?!
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
