Archief - C++ Cblas

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

YesName

Legacy Member
Hey,

Weet er iemand hoe je Cblas (lineair algebra library) laat werken met c++ (visual studio 2008)?

Ik heb het van BLAS (derde link) gedownload en dan de .lib compiled. Nu Cblas is de C interface van Blas en Blas is in fortran code. Blas kan je ook van BLAS downloaden (2de link) maar ik zou niet weten hoe ik deze moet compilen naar een .lib en daarom gebruik ik de precompiled .lib van lapack blas fortran windows win32 binaries download headers header files C C++ .

Als ik nu het cblas_example1 wil builden krijg ik de volgende fout:
Cblas.lib(cblas_dgemv.obj) : error LNK2001: unresolved external symbol _F77_dgemv

De Cblas.lib verwijst dus naar de functie F77_dgemv maar kan deze dus niet vinden.

Iemand die mij kan helpen?

Chaoz

Legacy Member
Ge hebt u library niet goed gelinkt, kan nie echt veel zeggen op het eerste zicht maar ge kunt dit eens bezien:

VC2008 project, rechterklik -> Properties

Daar gaat ge naar linker, general, menu'ke additional library directories - hier moet ge misschien nen extra directory nog includen.
Dan ebde input onder linker, additional dependencies, hier nog extra namen adden van libs die in verband staan me uwe lib?
Bij C/C++ hebde ook nog onder preprocessor "preprocessor definitions", daar moet ge mss een specifieke value adden, dit moet oa voor andere lib's zoals cURL, anders werken ze niet.

Hoop da dit toch een beetje helpt.

Ahja, compilen naar ne lib is nie zo hard normaal, ge hebt die target builds da standaard in VC op Debug & Release staan, normaal zal er wel iet tussen staan om Debug-Lib & Release-Lib te builden, dan die lib's overkopieren naar u eigen project en linken.

Good luck. ^^

YesName

Legacy Member
Chaoz zei:
Bij C/C++ hebde ook nog onder preprocessor "preprocessor definitions", daar moet ge mss een specifieke value adden, dit moet oa voor andere lib's zoals cURL, anders werken ze niet.

Dat zou het mss kunnen zijn, normaal heet die functie gewoon dgemv en nu wordt die dus opgeroepen met F77_dgemv (dgemv is fortran functie). Hebt ge een idee wat ik daar dan zou moeten invullen?


Chaoz zei:
Ahja, compilen naar ne lib is nie zo hard normaal, ge hebt die target builds da standaard in VC op Debug & Release staan, normaal zal er wel iet tussen staan om Debug-Lib & Release-Lib te builden, dan die lib's overkopieren naar u eigen project en linken.

Good luck. ^^

Ja maar dit zijn allemaal .f files en er staat dan ene make.inc tussen maar dat is iets voor linux zeker?

In ieder geval merci voor uw reactie!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan