ошибка LNK2019: неразрешенный внешний символ stati c library - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь связать мой исполняемый файл C ++ VS 2015 с библиотекой tbarcode 8. Эта библиотека состоит из заголовочных файлов, файла lib и файла dll.

Я продолжаю получать сообщения об ошибках LNK 2019, для пример LNK2019: неразрешенный внешний символ __imp_BCAllo c

Я строю в режиме отладки, я добавил библиотеку в настройки «Дополнительные папки», ее каталог в «Дополнительные каталоги библиотеки» и путь к каталог dll для переменной среды PATH.

Вот результаты dumpbin *, который показывает искаженные имена):

dumpbin /all TBarCode8.lib | findstr /c:"BCAlloc"
 B8B2 _BCAlloc@4
 B8B2 __imp__BCAlloc@4
    7 _BCAlloc@4
    7 __imp__BCAlloc@4
 Symbol name  : _BCAlloc@4
 Name         : BCAlloc
              _BCAlloc@4

dumpbin /all TBarCode8.dll | findstr /c:"BCAlloc"
      2    0 000247D9 BCAlloc

Вопросы: Что означает суффикс @ 4 в искаженном имя? И как решить эту ошибку LNK 2019?

1 Ответ

0 голосов
/ 21 марта 2020

Я нашел решение: dll tbarcode, который мне предоставили, 32-битный, и я попытался собрать свое приложение в 64-битном. Построение моего приложения в 32-битной версии решило проблему.

...