Я работаю над Visual Studio (для C++ и OpenGL, но я neewbie), и я импортировал код с помощью опции в Visual Studio "Импорт проекта из кода", но он не компилируется...
Проблема в том, что код не мой (сотрудник), и я не могу связаться с автором (отпуск...), чтобы знать о среде ведьмы, в которой он работает.. или попросить его преобразовать код... Я также использую Библиотека FreeImage, но я думаю, что это просто детали.
Я получаю сообщение об ошибке "Не удается запустить программу, указанный файл не найден"...
Тогда у меня есть некоторые ошибки для неразрешимых символов, но странная часть заключается в том, что в консоли она пишет:
error LNK2005: _main already defined in dummy.obj
error LNK2019: unsolved external symbol __imp_FreeImage_Initialise@4 referenced in main function
error LNK2019: unsolved external symbol __impFreeImage_DeInitialise@0
...
И так один, но в коде нет @0, что они означают...?
Неразрешенный внешний обычно означает, что зависимость линкера не выполняется.
В основном это сообщение означает, что VS не может найти библиотеку FreeImage. В каталоге установки FreeImage там должен быть.lib. В настройках вашего проекта, в рамках компоновщика, убедитесь, что там есть файл liblImage.lib и что дополнительный каталог библиотеки содержит путь, в котором находится.lib.
@0
в качестве суффикса означает, что эта функция имеет соглашение о вызовах в стиле Pascal, то есть STDCALL в Windows API, где вызываемая функция отвечает за удаление своих аргументов из стека. 0 - это длина в байтах аргументов, т. Е. Ни одна в этом случае. Это довольно распространено для функций, экспортируемых из DLL в Windows, и есть вероятность, что они являются одним из определений в вашем заголовочном файле, которые объявляют эти функции в соответствии с соглашением о вызовах.