Я пытаюсь внедрить Lua (используя minilua.h) в свой проект. Чистые сценарии LUA работают, но все, что требует нативных библиотек, не снимается, заявляя, что NM .
не так, как это не так. это. < /p>
В конечном итоге я хочу создать пользовательскую среду выполнения Lua, в котором также может использовать нативные библиотеки Lua, но с одним двоичным.#include
#define LUA_IMPL
#include "lua/minilua.h"
using std::string;
class Lua {
public:
lua_State *L;
Lua() {
L = luaL_newstate();
luaL_openlibs(L);
}
~Lua() { lua_close(L); }
void run(string s) {
luaL_loadstring(L, s.c_str());
lua_call(L, 0, 0);
}
};
int main(int argc, char *argv[]) {
// Works
Lua().run("print('hello world')");
// Barfs error
Lua().run(R"(
package.path = "./lualib/?.lua;./lualib/?/init.lua;" .. package.path
package.cpath = "./lualib/?.so;./lualib/?/init.so;" .. package.path
local pegasus = require 'pegasus'
local server = pegasus:new({
port = '8080',
location = '.',
})
server:start(function(req, res)
print('started')
res:addHeader('Cache-Control', 'no-cache')
:write("hello world")
end)
)");
}
< /code>
Создать и запустить и получить ошибку < /p>
~/code/cpp/luastuff g++ -I./lib main.cpp -o game && ./game
hello world PANIC: unprotected error in call to Lua API (error loading module 'socket.core' from file './lualib/socket/core.so':
dlopen failed: cannot locate symbol "lua_type" referenced by "/data/data/com.termux/files/home/code/cpp/luastuff/lualib/socket/core.so"...) Aborted
< /code>
Ищу символ < /p>
~/code/cpp/luastuff nm game | grep lua_type
00000000000360e0 T lua_type
0000000000036164 T lua_typename
Подробнее здесь: https://stackoverflow.com/questions/796 ... ve-library
C/C ++ Lua Embedded: отсутствует символ при требовании собственной библиотеки ⇐ C++
Программы на C++. Форум разработчиков
1750618574
Anonymous
Я пытаюсь внедрить Lua (используя minilua.h) в свой проект. Чистые сценарии LUA работают, но все, что требует нативных библиотек, не снимается, заявляя, что NM .
не так, как это не так. это. < /p>
В конечном итоге я хочу создать пользовательскую среду выполнения Lua, в котором также может использовать нативные библиотеки Lua, но с одним двоичным.#include
#define LUA_IMPL
#include "lua/minilua.h"
using std::string;
class Lua {
public:
lua_State *L;
Lua() {
L = luaL_newstate();
luaL_openlibs(L);
}
~Lua() { lua_close(L); }
void run(string s) {
luaL_loadstring(L, s.c_str());
lua_call(L, 0, 0);
}
};
int main(int argc, char *argv[]) {
// Works
Lua().run("print('hello world')");
// Barfs error
Lua().run(R"(
package.path = "./lualib/?.lua;./lualib/?/init.lua;" .. package.path
package.cpath = "./lualib/?.so;./lualib/?/init.so;" .. package.path
local pegasus = require 'pegasus'
local server = pegasus:new({
port = '8080',
location = '.',
})
server:start(function(req, res)
print('started')
res:addHeader('Cache-Control', 'no-cache')
:write("hello world")
end)
)");
}
< /code>
Создать и запустить и получить ошибку < /p>
~/code/cpp/luastuff g++ -I./lib main.cpp -o game && ./game
hello world PANIC: unprotected error in call to Lua API (error loading module 'socket.core' from file './lualib/socket/core.so':
dlopen failed: cannot locate symbol "lua_type" referenced by "/data/data/com.termux/files/home/code/cpp/luastuff/lualib/socket/core.so"...) Aborted
< /code>
Ищу символ < /p>
~/code/cpp/luastuff nm game | grep lua_type
00000000000360e0 T lua_type
0000000000036164 T lua_typename
Подробнее здесь: [url]https://stackoverflow.com/questions/79675339/c-c-lua-embedded-missing-symbol-when-requiring-native-library[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия