Dołączanie biblioteki - Visual Studio 2012

Odpowiedz Nowy wątek
2015-01-24 19:15
Krwawy Kaczor
0

Witam. Mógłby mi ktoś wytłumaczyć jak dodać bibliotekę mysql.h do visuala?
Mam 2 foldery, lib i includes, wkleiłem je do projektu.
http://scr.hu/3dxp/9l9m3
http://scr.hu/3dxp/ye9nk
Dopisałem do proporties:
$(ProjectDir)include
$(ProjectDir)Lib\libmysql.lib
I oto error:

1>  Functions.cpp
1>  Functions.h
1>  Main.cpp
1>Release\Functions.obj : warning LNK4042: object specified more than once; extras ignored
1>Main.obj : error LNK2001: unresolved external symbol [email protected]
1>Main.obj : error LNK2001: unresolved external symbol [email protected]
1>Project.exe : fatal error LNK1120: 2 unresolved externals
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Pozostało 580 znaków

2015-01-24 20:03
0

W opcjach projektu (linker) lub w kodzie

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

edytowany 1x, ostatnio: Bartosz Wójcik, 2015-01-24 20:03

Pozostało 580 znaków

2015-01-24 20:07
Krwawy Kaczor
0

Dodanie pragmy nic nie daje

Pozostało 580 znaków

2015-01-24 20:11
0

Dobrą wersję nagłówków użyłeś? Linker pluje się o symbole bez dekoracji, ja bym sprawdził czy to nagłówki dla C++ czy dla C, można to łatwo sprawdzić czy includy zawierają

#ifdef __cplusplus
extern "C" {
#endif
...
deklaracje funkcji
#endif

Sprawdź też czy te ścieżki są poprawne

$(ProjectDir)include
$(ProjectDir)Lib\libmysql.lib


edytowany 1x, ostatnio: Bartosz Wójcik, 2015-01-24 20:15

Pozostało 580 znaków

2015-01-24 20:13
0

Porównaj ścieżkę ze zmiennej ProjectDir z lokalizacją, w której znajduje się ta biblioteka.

edytowany 1x, ostatnio: satirev, 2015-01-24 20:14

Pozostało 580 znaków

2015-01-24 20:21
Krwawy Kaczor
0

$(ProjectDir)Includes
$(ProjectDir)Lib\libmysql.lib
A to układ folderów:
http://scr.hu/3dxp/s8kmv

http://scr.hu/3dxp/j4jlz
http://scr.hu/3dxp/ns4sh

Pozostało 580 znaków

2015-01-24 20:25
0

Otwórz sobie tą libkę w jakimś hexedytorze i sprawdź czy zawiera w ogóle symbol [email protected], możesz też odpalić ProcessMonitora i sprawdzić czy VS czasem nie błądzi gdzieś w poszukiwaniu tej libki.


Pozostało 580 znaków

2015-01-24 20:28
0

Spróbuj w opcjach linkera w Additional Library Directories podać $(ProjectDir)Lib, a w Input daj tylko nazwę biblioteki

Pozostało 580 znaków

2015-01-24 20:40
0
$(ProjectDir)include

tu prawie na pewno powinien być ukośnik:

$(ProjectDir)\include
Nie powinien, VS dodaje \ na końcu tej ścieżki (sprawdzałem ;p) - satirev 2015-01-24 20:44

Pozostało 580 znaków

2015-01-24 21:07
Krwawy Kaczor
0

A więc tak, otworzyłem to jakimś hex edytorem znalazło tylko coś takiego.
http://scr.hu/3dxp/hzz27
Otworzyłem jeden header i rzeczywiście jest tam takie coś:

#ifdef  __cplusplus
extern "C" {
#endif

Cały header - http://pastebin.com/t0e6nQ9s
@Satirev to też nic nie dało.
Nie mam pojęcia co z tym jest...
Próbowałem też pobrać z innego źródła ale tam było o wiele mniej plików
http://scr.hu/3dxp/jxt68
http://scr.hu/3dxp/5scb0
I po dodaniu nawet w visualu pokazywało błędy.
http://scr.hu/3dxp/1qg2a

Pozostało 580 znaków

2015-01-24 21:17
Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0