очень нужная фича а вот не компилится....
От: sqlPunk  
Дата: 17.03.06 13:25
Оценка:
старую ветку на ту-же тему можно удалить
---------------
Кто-нибуть пытался откомпилировать модуль
DBD::mysqlEmb под ActiveState perl ?
модуль как-бы должен поддерживать функционал mysql без установки сервера
---------
при сборке выдется ошибка:
Creating library blib\arch\auto\DBD\mysqlEmb\mysqlEmb.lib and object blib\arch\auto\DBD\mysqlEmb\mysqlEmb.exp
mysqlserver.lib(ut0ut.obj) : error LNK2019: unresolved external symbol __pctype referenced in function _ut_print_buf
mysqlserver.lib(dict0dict.obj) : error LNK2001: unresolved external symbol __pctype
mysqlserver.lib(data0data.obj) : error LNK2019: unresolved external symbol __pctype referenced in function _dtuple_check_typed_no_assert
mysqlserver.lib(ut0ut.obj) : error LNK2019: unresolved external symbol ___mb_cur_max referenced in function _ut_print_buf
mysqlserver.lib(dict0dict.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
mysqlserver.lib(data0data.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
mysqlserver.lib(mf_tempfile.obj) : error LNK2019: unresolved external symbol __environ referenced in function _create_temp_file
blib\arch\auto\DBD\mysqlEmb\mysqlEmb.dll : fatal error LNK1120: 3 unresolved externals
------------
Я использую следующие версии программ:
perl, v5.6.1 built for MSWin32-x86-multi-thread
mysql-4.0.17-win
DBD-mysql-3.0002
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
(из Microsoft Visual C++ .NET )
----------------
Вобщем есть пример (в комплекте с mysql выше указаной версии идет)
который коректно ликуеться и работает с mysqlserver.lib
(есть как под C++ так и под C)
при сборке этих проекта используються стандартные библеотеки
(не используеться ключ линковки /nodefaultlib)
а выше описанная програмка не хочет линковаться и все тут.
---------------
вот комманда линковки как выглядит:
D:\Perl\bin\perl.exe myld link -out:blib\arch\auto\DBD\mysqlEmb\mysqlEmb.dll -dll -nologo -nodefaultlib -release -libpath:"D:/Perl\lib\CORE" -machine:x86 dbdimp.obj mysqlEmb.obj D:\Perl\lib\CORE\perl56.lib C:\mysql-new\Embedded\Static\release\mysqlserver.lib "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\LIB\oldnames.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\kernel32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\user32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\gdi32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\winspool.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\comdlg32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\advapi32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\shell32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\ole32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\oleaut32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\netapi32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\uuid.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\wsock32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\mpr.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\winmm.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\version.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\odbc32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\odbccp32.lib" "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\LIB\msvcrt.lib" -def:mysqlEmb.def
---------------
а как вы думаете в каких библеотеках могутбыть выше написаные имена?
вообщем я наугад разные стандартные библеотеки подключал
вобщемто слинковалось , не не работало после этого
выдавала ошибку навроде "обратилась по адресу 00000, память не может быть writen"
----------------
А>Если ну совсем ничего не помогает... Возьми
А>просто поищи во всех файлах студии (или чего там еще)
А>и проекта имена нужных тебе функций. По идее должны быть
А>найдены либо dll, либо lib, либо obj. В этом случае ты, по крайней
А>мере, будешь знать где они находятся. Попробуй слинковать
А>с этими либами или прикрути dll (если будет найдена dll).
А>Потом в гугл и прямо поиск по имени функции и/или dll, obj и .т.д.
А>Если косяк имел есто в глобальных масштабах то найдешь ответ,
А>если нет, о бубен в руки и по кругу...
пробовал все это.
Сижу с бубном уже давно.
в инете вообще информации нет
какото русский этим занимался но его емайла не обнаружено
(он в mysql работает)
----------------
история вопроса:
по данным компании mysql
mysqlEmb был разработан сторонней компанией
был включен в некотые 4-е релиза mysql под виндовс
в новых релизах не обнаружен

mysqlEmb в виде собраного модуля
в инете не обнаружен
------------------
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.