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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите слинковать!  (Прочитано 5932 раз)
jeddite
Гость
« : Май 21, 2007, 16:37 »

Проблема такая, есть некое АПИ к одной хрене в виде библиотек и хедеров соответственно, и мне нужно собрать либу с использованием этого апи...в результате вот такое получается:

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -shared -Wl,--out-implib,liblib.a -o "lib.dll" build\.obj\command.o build\.obj\connection.o build\.obj\date.o build\.obj\recordset.o "c:\libinterface.lib"

Creating library file: liblib.a

build\.obj\command.o(.text+0x25b):command.cpp: undefined reference to `inter@20'
build\.obj\command.o(.text+0x748):command.cpp: undefined reference to `inter@20'
build\.obj\command.o(.text+0xe8f):command.cpp: undefined reference to `DECTOSTR@
20'
build\.obj\command.o(.text+0xffc):command.cpp: undefined reference to `TICKTOSTR
F@12'
build\.obj\command.o(.text+0x138b):command.cpp: undefined reference to `LongToDe
c@8'
build\.obj\command.o(.text+0x13f1):command.cpp: undefined reference to `DECTOSTR
@20'
build\.obj\command.o(.text+0x1703):command.cpp: undefined reference to `LongToDe
c@8'
build\.obj\command.o(.text+0x1795):command.cpp: undefined reference to `DECTOSTR
@20'
build\.obj\command.o(.text+0x1a25):command.cpp: undefined reference to `DblToDec
@12'
build\.obj\command.o(.text+0x1a84):command.cpp: undefined reference to `DECTOSTR
@20'
build\.obj\command.o(.text+0x1d0e):command.cpp: undefined reference to `DblToDec
@12'
build\.obj\command.o(.text+0x1d67):command.cpp: undefined reference to `DECTOSTR
@20'
build\.obj\command.o(.text+0x1fc6):command.cpp: undefined reference to `STRTODEC
@8'
build\.obj\command.o(.text+0x2caf):command.cpp: undefined reference to `inter@20
'
build\.obj\command.o(.text+0x390d):command.cpp: undefined reference to `inter@20
'
build\.obj\command.o(.text+0x39e1):command.cpp: undefined reference to `inter@20
'
build\.obj\command.o(.text+0x3b33):command.cpp: undefined reference to `inter@20
'
build\.obj\command.o(.text+0x3c57):command.cpp: undefined reference to `inter@20
'
build\.obj\command.o(.text+0x3e4c):command.cpp: more undefined references to `in
ter@20' follow
build\.obj\command.o(.text+0x48c9):command.cpp: undefined reference to `STRTODEC
@8'
build\.obj\command.o(.text+0x48d8):command.cpp: undefined reference to `DecToDbl
@8'
build\.obj\command.o(.text+0x49dd):command.cpp: undefined reference to `STRTODEC
@8'
build\.obj\command.o(.text+0x49ef):command.cpp: undefined reference to `DecToDbl
@8'
build\.obj\command.o(.text+0x52ed):command.cpp: undefined reference to `CRecordS
etPrivate::clear()'
build\.obj\command.o(.text$_ZN15CCommandPrivate9set_valueEtP11ARGPROC_OUTPh[CCom
mandPrivate::set_value(unsigned short, ARGPROC_OUT*, unsigned char*)]+0x1b2):com
mand.cpp: undefined reference to `DECTOSTR@20'
build\.obj\command.o(.text$_ZN15CCommandPrivate9set_valueEtP11ARGPROC_OUTPh[CCom
mandPrivate::set_value(unsigned short, ARGPROC_OUT*, unsigned char*)]+0x305):com
mand.cpp: undefined reference to `TICKTOSTRF@12'
build\.obj\connection.o(.text+0x3bd):connection.cpp: undefined reference to `int
er@20'
build\.obj\connection.o(.text+0x679):connection.cpp: undefined reference to `int
er@20'
build\.obj\connection.o(.text+0x7ca):connection.cpp: undefined reference to `int
er@20'
build\.obj\connection.o(.text+0x88d):connection.cpp: undefined reference to `int
er@20'
build\.obj\connection.o(.text+0x93d):connection.cpp: undefined reference to `int
er@20'
build\.obj\connection.o(.text+0x9ed):connection.cpp: more undefined references t
o `inter@20' follow
build\.obj\recordset.o(.text+0x2de8):recordset.cpp: undefined reference to `DecT
oDbl@8'
build\.obj\recordset.o(.text+0x2f01):recordset.cpp: undefined reference to `DecT
oDbl@8'
build\.obj\recordset.o(.text+0x3427):recordset.cpp: undefined reference to `DECT
OSTR@20'
build\.obj\recordset.o(.text+0x3840):recordset.cpp: undefined reference to `inte
r@20'
build\.obj\recordset.o(.text+0x3a9f):recordset.cpp: undefined reference to `inte
r@20'
build\.obj\recordset.o(.text+0x3c69):recordset.cpp: undefined reference to `TICK
TOSTRF@12'
build\.obj\recordset.o(.text+0x3db5):recordset.cpp: undefined reference to `TICK
TOSTRF@12'
build\.obj\recordset.o(.text+0x4684):recordset.cpp: undefined reference to `inte
r@20'
collect2: ld returned 1 exit status
mingw32-make: *** [lib.dll] Error 1

Как видно из вывода программа скомпилилась, но при линковке не находит точки входа функций, в библиотеке. Я говорил с разрабочиком апи он сказал, что проблема в формате имени функции и что нужно как-то по длл-кам собрать новую либу и подключить ее, но он не помнит как это делать..и вспоминать не хочет..\

ЗЫ
собираю все это под виндой + мингв.
Записан
Icoz
Гость
« Ответ #1 : Август 19, 2007, 18:32 »

здесь обсасывается подобная тема, может чего для себя найдешь.
Только сначала все прочитай внимательно, потом вопросы задавай!
http://prog.org.ru/forum/index.php/topic,6032.0.html
Записан
Icoz
Гость
« Ответ #2 : Сентябрь 24, 2007, 15:13 »

Ну что? Ты свою проблему решил?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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