Visual Studio 2010 — C ++ Неразрешенная внешняя функция IBM Websphere MQ

Я использую библиотеки IBM Websphere MQ imqb23vn.Lib и imqs23vn.Lib для создания 64-битного приложения C ++ в Visual Studio 2010.

Я скачал 64-битные версии библиотек от IBM и поместил их в каталог lib.

Я ссылался на каталог в свойствах компоновщика в разделе Дополнительные каталоги библиотек.
Под Linker-> Input я включил две библиотеки в Дополнительные зависимости.

Когда я компилирую приложение, я получаю кучу ошибок компоновки LNK2001: неразрешенный внешний символ «public: static inc __cdecl ImqMgr :: поведение (void).

Я устанавливаю это на новом 64-разрядном сервере Windows 2008. Приложение компилировалось и работало в течение 9 лет в современной 32-битной серверной среде Windows 2003.

0

Решение

это правда. Ваш линкер не находит библиотек. Убедитесь, что вы используете 64-битные библиотеки и их путь, а НЕ 32-битные версии.

0

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

Сначала вы говорите:

Я использую библиотеки IBM Websphere MQ imqb23vn.Lib и imqs23vn.Lib для
создать 64-разрядное приложение C ++ в Visual Studio 2010.

тогда вы говорите:

Я устанавливаю это на новом 64-разрядном сервере Windows 2008.
приложение скомпилировано и работало нормально в течение 9 лет в текущей 32-битной
Windows 2003 серверная среда.

Вы создаете 32-битное или 64-битное приложение? Кроме того, IBM внесла изменения в интерфейсы за 9 лет — похоже, что вы использовали MQ v5.3.

Я использую MS VS 2010 без каких-либо проблем, создавая как 32-битные, так и 64-битные приложения. Вы установили в своем проекте, где найти библиотеки MQ?

для WMQ v7.5 с установкой по умолчанию:

32-битные библиотеки MQ находятся по адресу:
C: \ Program Files (x86) \ IBM \ WebSphere MQ \ Tools \ Lib \

64-битные библиотеки MQ находятся по адресу:
C: \ Program Files (x86) \ IBM \ WebSphere MQ \ Tools \ Lib64 \

0

По вопросам рекламы [email protected]