Lnk2001: неразрешенный внешний символ _maincrtstartup -- c поле с участием visual-studio-2012 поле с участием linker поле с участием lnk2001 поле с участием ar.drone пол Связанный проблема

LNK2001: unresolved external symbol _mainCRTStartup


1
vote

проблема

русский

Я пытаюсь скомпилировать пример Win32 Parrot Ardrone SDK V1.8, используя Visual Studio 2012 Express для Windows Desktop. Я использую Windows 7 64-бит. SDK написан в C, а не C ++.

Мне удалось пройти каждую ошибку до сих пор, но это у меня затуман.

При запуске я получаю эти 3 сообщения в списке ошибок:
<Код> Warning 1 warning LNK4001: no object files specified; libraries used C:UsersNetexDesktopARDrone_SDK_Version_1_8_20110726ARDrone_SDK_Version_1_8_20110726ExamplesWin32VCProjectsARDroneWin32ClientLINK Win32Client

<Код> Error 2 error LNK2001: unresolved external symbol _mainCRTStartup C:UsersNetexDesktopARDrone_SDK_Version_1_8_20110726ARDrone_SDK_Version_1_8_20110726ExamplesWin32VCProjectsARDroneWin32ClientLINK Win32Client

<Код> Error 3 error LNK1120: 1 unresolved externals C:UsersNetexDesktopARDrone_SDK_Version_1_8_20110726ARDrone_SDK_Version_1_8_20110726ExamplesWin32VCProjectsARDroneDebugWin32Client.exe Win32Client

Я пробовал много предложенных решений, включая настройку подсистемы в Linker- & GT; система «не устанавливает» и устанавливая точку ввода вручную, которая избавляется от 2 ошибок и заменяет его:
`Ошибка 2 Ошибка lnk1221: подсистема не может быть выведена и должна быть определена '

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

<Сильный> Вопрос: Что вызывает эти сообщения, и как я могу это исправить? Это потому, что я пытаюсь собрать консольную программу Win32 на 64-битной системе?

Любая помощь очень ценится,

Дэн

Английский оригинал

I am trying to compile the Win32 Example of the Parrot ARDrone SDK v1.8 using Visual Studio 2012 Express for Windows Desktop. I am running Windows 7 64-bit. The SDK is written in C, not C++.

I've managed to get through every error so far, but this one has me stumped.

When Run, I get these 3 messages in the Error List:
Warning 1 warning LNK4001: no object files specified; libraries used C:UsersNetexDesktopARDrone_SDK_Version_1_8_20110726ARDrone_SDK_Version_1_8_20110726ExamplesWin32VCProjectsARDroneWin32ClientLINK Win32Client

Error 2 error LNK2001: unresolved external symbol _mainCRTStartup C:UsersNetexDesktopARDrone_SDK_Version_1_8_20110726ARDrone_SDK_Version_1_8_20110726ExamplesWin32VCProjectsARDroneWin32ClientLINK Win32Client

Error 3 error LNK1120: 1 unresolved externals C:UsersNetexDesktopARDrone_SDK_Version_1_8_20110726ARDrone_SDK_Version_1_8_20110726ExamplesWin32VCProjectsARDroneDebugWin32Client.exe Win32Client

I've tried many suggested solutions, including setting the SubSystem in Linker->System to "Not Set" and setting the entry point manually, which gets rid of the 2 errors and replaces it with:
`Error 2 error LNK1221: a subsystem can't be inferred and must be defined'

I've tried setting the Platform Toolset to v90 (which it was originally compiled in, I believe), which gets rid of the warning, but the errors persist.

QUESTION: What is causing these messages, and how can I fix it? Is it because I am trying to compile a Win32 console program on a 64-bit system?

Any help is much appreciated,

Dan

</div
              
         
         

Список ответов

0
 
vote

Я использую расширение Qt vs Tools с Visual Studio 2019 и работает в C ++ в приложении Qt GUI, созданное с использованием нового мастера проекта. В моем свойствах проекта в соответствии с свойствами конфигурации | Линкер |. Система у меня установила подсистему «Консолью (/ подсистему: консоль)», чтобы вызвать консольное окно наряду с моим графическим интерфейсом при отладке. Это позволяет мне просмотреть результаты, которые я добавил, используя qdebug, как это:

Qdebug () & lt; «Тестирование»;

Что я нашел, это то, что если я выполню сборку | Чистое решение, а затем построить | Создание решения, я получаю эту ошибку в первой сборке:

lnk2001 Нерешенный внешний символ maincrtstartup

Первоначально я пытался выяснить, как это исправить (и побежал через этот пост), но тогда я обнаружил, что если я повторил сборку | Создание решения Ошибка уходит на последующие сборки, поэтому мое решение - не забывать, чтобы построить в два раза после чистоты.

Чтобы увидеть, что произойдет, если бы я никогда не изменил подсистему на «Консоль (/ подсистему: Console)», я создал новый проект приложений QT GUI с помощью мастера. В этой подсистеме проекта установлена ​​на «Windows (/ подсистема: Windows)» в качестве по умолчанию. Опять же, я получаю ошибку на первой сборке после чистоты, но в этом случае это другой неразрешенный символ:

lnk2001 нерешенный внешний символ winmaincrtstartup

Несмотря на то, что мне интересно причину проблемы, это решение постройки дважды работает для меня.

 

I'm using Qt VS Tools extension with Visual Studio 2019 and working in C++ on a Qt Gui Application created using the new project wizard. In my project properties under Configuration Properties | Linker | System, I have set SubSystem to "Console (/SUBSYSTEM:CONSOLE)" to cause a console window to come up alongside my GUI when debugging. This allows me to view outputs that I've added using qDebug like this:

qDebug() << "Testing";

What I have found is that if I perform a Build | Clean Solution and then Build | Build Solution, I get this error on the first build:

LNK2001 unresolved external symbol mainCRTStartup

Initially I was trying to figure out how to fix this (and ran across this post), but then I found that if I repeated Build | Build Solution the error goes away on subsequent builds, so my solution is to remember to build twice after a clean.

To see what would happen if I had never changed SubSystem to "Console (/SUBSYSTEM:CONSOLE)", I created a new Qt Gui Application project using the wizard. In this project SubSystem is set to "Windows (/SUBSYSTEM:WINDOWS)" as the default. Again I get the error on first build after a clean, but in this case it is a different unresolved symbol:

LNK2001 unresolved external symbol WinMainCRTStartup

Although I'm curious about the cause of the problem, the build twice solution is working for me for now.

</div
 
 

Связанный проблема

0  Подсчет и сортировка в C  ( Counting and sorting in c ) 
Я заряжаюсь с обычной программой C, которая подсчитывает ряд входов и соответственно классифицирует их. У меня на самом деле нет ни одного кода, написанного д...

0  Не может запустить TCP-сервер на iOS, сотовой  ( Cannot run tcp server on ios cellular ) 
Я пытаюсь запустить TCP-сервер на iOS из сотовой связи. В целях задачи этого вопроса я написал эту очень упрощенную версию сервера и клиента в C, используя So...

4  Преобразовать фильм в Openni * .oni видео  ( Convert movie to openni oni video ) 
the библиотека Kinect Openni использует пользовательский формат видеофайла для хранения видеороликов, которые содержат информацию RGB + D. Эти видео имеют р...

838  Почему эти конструкции используют поведение Pre и Post-Actrention undefined?  ( Why are these constructs using pre and post increment undefined behavior ) 
<код> getenv()1 ...

0  Согласите несколько строк?  ( Concat multiple strings ) 
У меня есть строка, как приведенная ниже, но мне нужно объединить косые в каталогах, есть ли способ безопасно объединять несколько строк? <код> // Need to i...

0  Напишите программу, которая извлекает содержимое файла RPM в Windows  ( Write a program that extracts the contents of an rpm file on windows ) 
Я хочу написать программу, которая извлечет содержимое RPM-файла и выполняет некоторые проверки проверки. Я буду использовать Qt для интерфейса, чтобы програм...

3  Malloc Все доступные памяти для хеш-таблица  ( Malloc all available memory for a hash table ) 
Я хочу построить хеш-таблицу, настолько большой, насколько это возможно на машине. Я думал, что при времени инициализации я бы претендовал на большой блок пам...

4  Должны быть использованы кронштейны для одной строки условных утверждений? [закрыто]  ( Shall brackets be used for one line conditional statements ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

1  Связывание с DLL в C / C #  ( Linking with dll in c c ) 
Я пытался связать с третьей стороной DLL. Я пробовал 3 разными способами: путем компиляции C в Cygwin, составив C ++ в Visual Studio и путем компилирования C ...

0  C / C ++ Смешанное программирование: неисправность сегментации GDB часто  ( C c mixed programming gdb segmentation fault frequently ) 
Я всегда понимаю падение GDB, когда пытаюсь распечатать определенно действительную структуру / переменную. И это часто разбивается, если я попытался позвонить...

8  Нужно ли набрать CAST MALLOC и CALOOC [Дубликат]  ( Is it necessary to type cast malloc and calloc ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  Как я могу хранить разные виды операторов в 2D-массиве в C?  ( How can i store different kinds of operators in a 2d array in c ) 
Я хочу сделать функцию y = f (x) в виде строки и выяснить операторы в нем, чтобы хранить их в 2D-массиве, где каждый операторы будут рассматриваться как разде...

2  Если данные Spark будут кэшировать Off-Heap, у него будет спецификация байта?  ( If sparks data will be cached off heap will it have a byte level specification ) 
Я узнал из разных блогов, особенно этот один , что в ближайшее время Apache Spark будет кэшировать кучу Java (в public class AndroidAudioDevice { AudioT...

5  Возвращая указатель на местную структуру  ( Returning pointer to a local structure ) 
Безопасно, чтобы вернуть указатель на локальную структуру в C? Я имею в виду это делать <код> struct myStruct* GetStruct() { struct myStruct *str =...

0  Fead вызывает ошибку сегментации  ( Fread causing segmentation fault ) 
Попытка создать файл 1024 байтов случайных данных. Когда я запускаю это, я получаю ошибку неисправности сегментации на линии FREAD. Кто-нибудь видит, что я де...