Я компилирую c ++ со случайной связью C в mingw.
Компоновщик показывает, что не может найти
w.cpp (253): неопределенная ссылка на `_imp__lua_tolstring '
Согласно моим показаниям ... это должно быть __imp__lua_tolstring
как связь как C
extern "C"
{
#include <lua.h>
#include <lauxlib.h>
#include "lualib.h"
}
В другом ответе читаю
"Затем вы исправили это с помощью extern" C ", теперь вы получили единственное добавленное подчеркивание для cdecl, превращая imp в __imp_"
Но это не происходит со мной ... В чем может быть причина?
Я использовал команду для просмотра содержимого библиотеки
nm.exe -gC liblua51.a
00003.o:
0000000000 I __imp_luaL_addstring
U _head_liblua51_a
0000000000 T luaL_addstring
00002.o:
0000000000 I __imp_luaL_addlstring
U _head_liblua51_a
0000000000 T luaL_addlstring
00001.o:
0000000000 I __imp_luaJIT_version_2_0_4
U _head_liblua51_a
0000000000 T luaJIT_version_2_0_4
как видите, здесь есть два подчеркивания.