ошибка компоновки — суффикс @

У меня есть два lib-файла, основанных на C ++, один от компании, а другой откомпилированный мной с использованием исходного кода, предоставленного компанией. Я использую Windows 7 x64 и компилирую библиотеку, используя makefile.

Когда я пытаюсь связать программу, используя библиотеку, которую я скомпилировал, она выдает ошибку (LNK 2019: неразрешенный внешний символ), сообщающую, что она не может найти функцию в библиотеке.

Проблема, которую я обнаружил, состоит в том, что имя функции, которую ищет компоновщик, имеет @ -суффикс, но у скомпилированной библиотеки нет этого суффикса. Если я использую библиотеку, предоставленную компанией, она имеет @ -суффикс и работает нормально. Поэтому я хотел бы знать, что означает этот @ -suffix и как скомпилировать библиотеку, чтобы она имела этот суффикс.

Спасибо за чтение, и любая помощь будет принята с благодарностью.

пс. Ниже приведены начальные части вывода дампа, где верхний — из библиотеки компании, а нижний — тот, который я выполнил:

Библиотека от компании

Microsoft (R) COFF/PE Dumper Version 12.00.30723.0
Copyright (C) Microsoft Corporation.  All rights reserved.Dump of file motor.lib

File Type: LIBRARY

Archive member name at 8: /
5602DBD6 time/date Wed Sep 23 18:05:26 2015
uid
gid
0 mode
29F93 size
correct header end

5179 public symbols

51FA4 _S826_WriteReg@12
51FA4 __imp__S826_WriteReg@12
52010 _S826_WriteBridge@24
52010 __imp__S826_WriteBridge@24
5207E _S826_WatchdogWaitCancel@4
5207E __imp__S826_WatchdogWaitCancel@4

Библиотека, которую я собрал

Microsoft (R) COFF/PE Dumper Version 12.00.30723.0
Copyright (C) Microsoft Corporation.  All rights reserved.Dump of file motor.lib

File Type: LIBRARY

Archive member name at 8: /
56796705 time/date Tue Dec 22 15:06:45 2015
uid
gid
0 mode
2A45B size
correct header end

5252 public symbols

52368 S826_WriteReg
52368 __imp_S826_WriteReg
523D0 S826_WriteBridge
523D0 __imp_S826_WriteBridge
5243A S826_WatchdogWaitCancel
5243A __imp_S826_WatchdogWaitCancel

2

Решение

Задача ещё не решена.

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

Других решений пока нет …

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