Russian Qt Forum
Ноябрь 01, 2024, 10:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Lua + QT  (Прочитано 22391 раз)
brankovic
Гость
« Ответ #15 : Апрель 23, 2011, 11:12 »

перенес заголовочные файлы к g++.exe в каталог, те же ошибки. может я не правильно скомпилировал lua? компилировал через visual studio 2008, там специальный бат файл для нее

Что-то застряло дело совсем. Если компилировать из командной строки через g++ и указать статическую библиотеку напрямую, то работает? так:

g++.exe my.cpp "C:\path\to\lua\liblua51.a"

Если это не работает, то библиотека плохо скомпилировалась.
Записан
edg3
Гость
« Ответ #16 : Апрель 24, 2011, 14:45 »

у меня после компиляции lua51.a не появилось, токлько lua51.dll и lua51.lib
Записан
Fat-Zer
Гость
« Ответ #17 : Апрель 24, 2011, 20:10 »

edg3 опечатался... в винде статические библиотеки имеют расширение *.lib
Записан
edg3
Гость
« Ответ #18 : Апрель 25, 2011, 01:35 »

собралось нормально. без ошибок. так всетаки как же мне настроить qt?
Записан
Fat-Zer
Гость
« Ответ #19 : Апрель 25, 2011, 01:59 »

скиньте команды, которые в логи при компиляции светятся
Записан
edg3
Гость
« Ответ #20 : Апрель 26, 2011, 09:38 »

Код:
Выполняется сборка проекта untitled...
Настройки не изменились, этап qmake пропускается.
Запускается "D:/Tutorial/Progs/Qt/2010.05/mingw/bin/mingw32-make.exe" -w
mingw32-make: Entering directory `D:/Tutorial/Progs/Qt/2010.05/untitled-build-desktop'

D:/Tutorial/Progs/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `D:/Tutorial/Progs/Qt/2010.05/untitled-build-desktop'

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\untitled.exe debug/main.o debug/QwtBeginner.o debug/dialog_window.o debug/moc_QwtBeginner.o debug/moc_dialog_window.o  -L"d:\Tutorial\Progs\Qt\2010.05\qt\lib" -lmingw32 -lqtmaind D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\lib\libqwt5.a D:\Tutorial\Progs\lua\lua51.dll "-LC:\lluaa\src -llua51" -lQtGuid4 -lQtCored4

debug/main.o: In function `Z5qMainiPPc':

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:14: undefined reference to `luaL_newstate()'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:15: undefined reference to `luaL_openlibs(lua_State*)'

mingw32-make[1]: Leaving directory `D:/Tutorial/Progs/Qt/2010.05/untitled-build-desktop'

mingw32-make: Leaving directory `D:/Tutorial/Progs/Qt/2010.05/untitled-build-desktop'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:16: undefined reference to `luaL_loadfile(lua_State*, char const*)'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:16: undefined reference to `lua_pcall(lua_State*, int, int, int)'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:17: undefined reference to `lua_getfield(lua_State*, int, char const*)'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:18: undefined reference to `lua_pushnumber(lua_State*, double)'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:19: undefined reference to `lua_call(lua_State*, int, int)'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:20: undefined reference to `lua_tonumber(lua_State*, int)'

D:\Tutorial\Progs\Qt\2010.05\untitled-build-desktop/../../../QT/2010.05/untitled/main.cpp:21: undefined reference to `lua_close(lua_State*)'

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\untitled.exe] Error 1

mingw32-make: *** [debug] Error 2

Процесс "D:/Tutorial/Progs/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2.
Возникла ошибка при сборке проекта untitled (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"
Записан
Fat-Zer
Гость
« Ответ #21 : Апрель 26, 2011, 11:52 »

ошибка в том, что это "-LC:\lluaa\src -llua51" заключено в кавычки...
в *.pro файле что находится?
Записан
edg3
Гость
« Ответ #22 : Апрель 26, 2011, 23:44 »

в про файле
Код:
QT       += core gui

TARGET = untitled
TEMPLATE = app

INCLUDEPATH += D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\src
LIBS += D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\lib\libqwt5.a
INCLUDEPATH +=C:\lluaa\src
LIBS +=-L"C:\lluaa\src\" -llua51
SOURCES += main.cpp \
    QwtBeginner.cpp \
    dialog_window.cpp

HEADERS  += \
    QwtBeginner.h \
    dialog_window.h

FORMS    +=
Записан
Fat-Zer
Гость
« Ответ #23 : Апрель 27, 2011, 01:21 »

Цитировать
LIBS +=-L"C:\lluaa\src\" -llua51
а документацию почитать не пробовали?

Код:
LIBS += $$quote(C:\lluaa\src\lua51.lib)
для статической
Код:
LIBS += $$quote(-LC:\lluaa\src) -llua51
для динамеческой

ЗЫ: насчёт второго не уверен, но первое помочь должно...
ещё второе можно написать в две строки...
Да и quote по большому счёту не обязателен...
Записан
edg3
Гость
« Ответ #24 : Апрель 27, 2011, 10:08 »

Код:
QT       += core gui

TARGET = untitled
TEMPLATE = app

INCLUDEPATH += D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\src
LIBS += D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\lib\libqwt5.a
INCLUDEPATH +=C:\lluaa\src
LIBS += $$quote(C:\lluaa\src\lua51.lib)
SOURCES += main.cpp \
    widget.cpp \

HEADERS  += widget.h \


FORMS    +=

и опять:
Код:
Выполняется сборка проекта test2...
Настройки не изменились, этап qmake пропускается.
Запускается "D:/Tutorial/Progs/Qt/2010.05/mingw/bin/mingw32-make.exe" -w
mingw32-make: Entering directory `D:/Tutorial/Progs/Qt/2010.05/test2-build-desktop'

d:\tutorial\progs\qt\2010.05\qt\bin\qmake.exe -spec ..\qt\mkspecs\win32-g++ -o Makefile ..\test2\test2.pro

mingw32-make: Leaving directory `D:/Tutorial/Progs/Qt/2010.05/test2-build-desktop'

WARNING: d:\Tutorial\Progs\Qt\2010.05\test2\test2.pro:12: Unescaped backslashes are deprecated.

WARNING: d:\Tutorial\Progs\Qt\2010.05\test2\test2.pro:12: Unescaped backslashes are deprecated.

WARNING: d:\Tutorial\Progs\Qt\2010.05\test2\test2.pro:12: Unescaped backslashes are deprecated.

mingw32-make: Entering directory `D:/Tutorial/Progs/Qt/2010.05/test2-build-desktop'

D:/Tutorial/Progs/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `D:/Tutorial/Progs/Qt/2010.05/test2-build-desktop'

D:\Tutorial\Progs\Qt\2010.05\qt\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\qt\include\QtCore" -I"..\qt\include\QtGui" -I"..\qt\include" -I"..\..\..\tempius\qwt-5.2.1\qwt-5.2.1\src" -I"c:\lluaa\src" -I"..\qt\include\ActiveQt" -I"debug" -I"..\test2" -I"." -I"..\qt\mkspecs\win32-g++" -D__GNUC__ -DWIN32 ..\test2\widget.h -o debug\moc_widget.cpp

g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\qt\include\QtCore" -I"..\qt\include\QtGui" -I"..\qt\include" -I"..\..\..\tempius\qwt-5.2.1\qwt-5.2.1\src" -I"c:\lluaa\src" -I"..\qt\include\ActiveQt" -I"debug" -I"..\test2" -I"." -I"..\qt\mkspecs\win32-g++" -o debug\moc_widget.o debug\moc_widget.cpp

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\untitled.exe debug/main.o debug/widget.o debug/moc_widget.o  -L"d:\Tutorial\Progs\Qt\2010.05\qt\lib" -lmingw32 -lqtmaind D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\lib\libqwt5.a C:\lluaa\src\lua51.lib -lQtGuid4 -lQtCored4

mingw32-make[1]: Leaving directory `D:/Tutorial/Progs/Qt/2010.05/test2-build-desktop'

mingw32-make: Leaving directory `D:/Tutorial/Progs/Qt/2010.05/test2-build-desktop'

debug/main.o: In function `Z5qMainiPPc':

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:14: undefined reference to `luaL_newstate()'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:15: undefined reference to `luaL_openlibs(lua_State*)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:16: undefined reference to `luaL_loadfile(lua_State*, char const*)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:16: undefined reference to `lua_pcall(lua_State*, int, int, int)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:17: undefined reference to `lua_getfield(lua_State*, int, char const*)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:18: undefined reference to `lua_pushnumber(lua_State*, double)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:19: undefined reference to `lua_call(lua_State*, int, int)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:20: undefined reference to `lua_tonumber(lua_State*, int)'

D:\Tutorial\Progs\Qt\2010.05\test2-build-desktop/../test2/main.cpp:21: undefined reference to `lua_close(lua_State*)'

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\untitled.exe] Error 1

mingw32-make: *** [debug] Error 2

Процесс "D:/Tutorial/Progs/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2.
Возникла ошибка при сборке проекта test2 (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"
причем, если нажать на функции "найти использование" то найдет.
« Последнее редактирование: Апрель 27, 2011, 10:29 от edg3 » Записан
Fat-Zer
Гость
« Ответ #25 : Апрель 27, 2011, 14:14 »

а если последнюю команду из консоли выполнить?
Записан
edg3
Гость
« Ответ #26 : Апрель 28, 2011, 00:44 »

а если последнюю команду из консоли выполнить?
если с консоли скомпилить, ну ввести mingw32-make release все равно не видит оно функций lua ((
Записан
Fat-Zer
Гость
« Ответ #27 : Апрель 28, 2011, 01:11 »

если с консоли скомпилить, ну ввести mingw32-make release все равно не видит оно функций lua ((
нет, я про
Код:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\untitled.exe debug/main.o debug/widget.o debug/moc_widget.o  -L"d:\Tutorial\Progs\Qt\2010.05\qt\lib" -lmingw32 -lqtmaind D:\Tutorial\Progs\tempius\qwt-5.2.1\qwt-5.2.1\lib\libqwt5.a C:\lluaa\src\lua51.lib -lQtGuid4 -lQtCored4 
в ней вроде всё правильно прописано...
Записан
edg3
Гость
« Ответ #28 : Апрель 28, 2011, 01:20 »

ну, попробовал, все равно не пашет.(
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #29 : Апрель 28, 2011, 01:36 »

Да просто пропишите в .pro файле

INCLUDEPATH += c:/lluaa/include - путь к хедерам
LIBPATH = c:/lluaa/lib - путь к либам
LIBS +=-L$$LIBPATH -llua51

соблюдая синтаксис приведённый выше.
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.