Мне нужно использовать gdLibrary (http://www.libgd.org) в приложении C ++ на MS Windows XP Prof. SP3 32bit), и я пытаюсь и гуглю уже два дня безуспешно. Кто-нибудь из вас использует libgd с MS VC ++ 200x EE?
Моя проблема: Это должно для компиляции с MS Visual C ++ (например, 2008 Express Edition - исправлено условие третьей стороны) ... но в настоящее время компоновщик падает, с 11 из следующих LNK2019 ошибок:
Linking ...
codereate.obj: ошибка LNK2019: в "public: virtual __thiscall CodeCreate :: ~ CodeCreate (void)"
был найден неопределенный внешний символ "_gdImageDestroy"
Другими символами являются _gdImageColorExact
, _gdImageCopyResized
и некоторые другие gd-функции. Кажется, что компоновщик VC ++ не работает правильно с bgd.lib
, предоставленным пакетом, который я скачал с http://www.libgd.org/releases/gd-latest-win32.zip
.
Что я сделал / попробовал:
- Извлечено
gd-latest-win32.zip
до c:\users\johndoe\cpp\libgd
.
- Определено
c:\users\johndoe\cpp\libgd\lib
als дополнительная библиотека dir (глобальная настройка VC ++)
- Определяется
c:\users\johndoe\cpp\libgd\include
в качестве дополнительного включает dir (глобальная настройка VC ++)
- Определяется
c:\users\johndoe\cpp\libgd\include\lib\bgd.lib
как дополнительный компоновщик \ входная зависимость (настройка проекта)
- Я даже добавил
#pragma comment(lib, "libgd.lib")
в свой codecreate.h
, чтобы быть на стороне сохранения.
Есть предложения? Что я делаю неправильно (например, я забыл что-то установить)? Есть ли какая-нибудь хитрость, чтобы получить VC ++ 2008-совместимый bgd.lib
?
Дополнительные примечания:
- Работает на Linux / g ++, все работает нормально, без предупреждений с
-pedantic -ansi -wAll
. Программа выполняет свою работу и генерирует несколько штрих-кодов.
- Это работает при использовании DevC ++ для Win32. Следовательно, это не проблема Windows, а "проблема" VC ++. Для DevC ++ я сделал:
- Я только что скачал
http://www.libgd.org/releases/gd-latest-win32.zip
,
- извлек это до
c:\users\johndoe\cpp\libgd
- добавлено
c:\users\johndoe\cpp\libgd\lib\bgd.lib
в качестве дополнительного объекта в настройках проектов линкера.
- определено
c:\users\johndoe\cpp\libgd\lib
также дополнительная библиотека dir,
- определено
c:\users\johndoe\cpp\libgd\include
в качестве дополнительного включает dir
- доволен некоторыми штрих-кодами
- Если я не могу заставить Это работать, я действительно в беде ... становлюсь действительно отчаянным прямо сейчас: - (