Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Lua] не хочет работать 
V
    Опции темы
cipher
Дата 21.12.2006, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 26.2.2006

Репутация: нет
Всего: нет



Такая трабла встала - Скачал Lua 5.1 с офиц. сайта, она даже исходники без проблем в MSVS 2003 скомпилила. Но у меня статьи по Lua 4.0, а в 5.1 они здорово поменяли имена всего API. В частности вместо lua_open юзают теперь lua_newstate. Но дело не в этом, при попытке скомпилить консольный проект в MSVS2003 говорит:
Код

lua_lesson_01 error LNK2019: unresolved external symbol "struct lua_State * __cdecl lua_newstate(void * (__cdecl*)(void *,void *,unsigned int,unsigned int),void *)" (?lua_newstate@@YAPAUlua_State@@P6APAXPAX0II@Z0@Z) referenced in function _main
lua_lesson_01 fatal error LNK1120: 1 unresolved externals

Все каталоги к lib и h файлам прописываю, пробовал даже в тупую полный путь указать. Вот пример не работающей проги:
Код

#include <lua.h>
#include <stdio.h>

//=============================================================================

#pragma comment(lib, "lua_build.lib")

//=============================================================================

int main()
{
  lua_State *inter = lua_newstate(0 ,0);
  if (!inter) printf("error");
  else printf("it is done");
  return 0;
}


Почему она не может слинковать lib'у? Или может кто знает статейки на последнюю Lua?
PM MAIL   Вверх
setq
Дата 21.12.2006, 11:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Может всё-таки заюзать lua_open()?
  Вверх
FunnyFalcon
Дата 21.12.2006, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 27.3.2006

Репутация: нет
Всего: 7



По моему они всю жизнь доку с исходиками дают. Или нет?
Кстати, по 5.0 по-моему чуть лучше была.
PM MAIL   Вверх
Rickert
Дата 21.12.2006, 17:48 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



cipher, ты уверене что подключаться должна только одна Lib'а?

Добавлено @ 17:55 
ЗЫ
дай ссылку, откуда сливал lua 8)


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
cipher
Дата 21.12.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 26.2.2006

Репутация: нет
Всего: нет



Rickert, где-то здесь сливал http://www.lua.org/download.html
Господа нужно поконструктивнее ответы давать. Хочется всё-таки понять откуда такая ошибка. В доках с Lua ничего не сказано про это

Добавлено @ 21:56 
И потом что значит "может все-таки lua_open попробовать" Эту функцию убрали вообще из API!!
PM MAIL   Вверх
Rickert
Дата 21.12.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



cipher, ща попробую скомпилить.

ЗЫ
http://lua-users.org/wiki/TutorialDirectory
Цитата

The tutorial is written for the current version of Lua, version 5.0.



--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Rickert
Дата 21.12.2006, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



Ответ таков:
http://lua-users.org/wiki/BuildingLua
http://home.comcast.net/~vertigrated/lua/ReadMe.html
Чтобы скомпилить - надо указать, что это multi-thread dll и компилить не в Application(.exe), а в Static Library(.lib). Всё в настройках проекта указывается.

Добавлено @ 22:36 
Код

//=============================================================================

#include <lua.h>
#include <stdio.h>

//=============================================================================

#pragma comment(lib, "lua.lib")

//=============================================================================

int main()
{
  lua_State *inter = lua_newstate(0 ,0);
  if (!inter) printf("error");
  else printf("it is done");
  return 0;
}

//=============================================================================



Добавлено @ 22:37 
ЗЫ
В настройках проекта проставлены пути к заголовочным файлам и папке с либами.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
setq
Дата 22.12.2006, 15:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











cipher, я в этом разбираюсь и правда не очень хорошо. Использую Dev-C++ и Lua 5.1 . Пробовал откомпилировать пример с lua_open() -- работает..
  Вверх
cipher
Дата 25.12.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 26.2.2006

Репутация: нет
Всего: нет



Rickert, у тебя проблемы с языком. В частности с английским 8))) Не обижайся конечно, но это факт! Я пытаюсь прикрутить интерпритатор Lua к своей с++ проге, а ты мне статьй выдаешь про то как собрать сам интерпритатор из исходников. Чуешь разницу? Хотя ссылки всё равно достаточно интересные. Итак вопрос остаётся открытым. Как прикрутить Lua к своей программке?

Добавлено @ 16:41 
Я имею ввиду, чтобы потом можно было скрипты писать отдельным ресурсом, а моя прога будет брать их и скармливать Lua
PM MAIL   Вверх
Rickert
Дата 25.12.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



cipher, так ты сначала должен написать их, скомпилив либы, позже переименуемые в *.lua. А потом уже их юзать в программе. Как япо нял - у тебя была проблема с компилированием первых, а не с прикручиванием вторых. smile


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие языки | Следующая тема »


 




[ Время генерации скрипта: 0.0693 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.