Mysql
 sql >> база данни >  >> RDS >> Mysql

Недефинирана препратка към MySQL библиотеки, използващи g++

Следните команди работят добре за мен, използвайки GCC 4.6.1 от ноември 2011 г.:

g++ my.cpp -I D:\Opt\MySQL5.5\include ^
  D:\Opt\MySQL5.5\lib\libmysql.dll -o myWithDll.exe

g++ my.cpp -I D:\Opt\MySQL5.5\include ^
  -L D:\Opt\MySQL5.5\lib -lmysql -o myWithLib.exe

Така че и двете връзки срещу LIB и DLL работят.

Може да получите предупреждение (вижте коментара на Гафи). Това е така, защото линкерът прави размито свързване вместо вас, без да сте го посочили; обикновено нямаше да успее да се свърже. Все пак е мило и кара да работи за вас, като в същото време ви предупреждава за случващи се неща, без да сте ги поискали. Начинът за потискане на предупреждението е да се направи изрично размито свързване:

g++ -Wl,--enable-stdcall-fixup my.cpp -I D:\Opt\MySQL5.5\include ^
  D:\Opt\MySQL5.5\lib\libmysql.dll -o myWithDll.exe

g++ -Wl,--enable-stdcall-fixup my.cpp -I D:\Opt\MySQL5.5\include ^
  -L D:\Opt\MySQL5.5\lib -lmysql -o myWithLib.exe

Това е разширение Cygwin/RedHat/MinGW към линкера; документите са тук :

--enable-stdcall-fixup
--disable-stdcall-fixup


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Фатална грешка:Максималното време за изпълнение от 30 секунди е превишено в ...\model.php на ред 183

  2. Планировчикът на събития трябва да се изпълнява всеки месец

  3. Изчислете възрастта от рождената дата в mysql

  4. Намиране на тенденции в множество текстови данни

  5. Обединяване на таблици в множество сървъри