Re: Problémy s DLL a LIB ve VS2017

Miroslav Šinko sinkomiro na gmail.com
Úterý Únor 15 17:45:48 CET 2022


MSVC2017, ani cmake nepouzivam, no __attribute__ mi pripada, ze je zo
sveta GCC a nie MSVC.

Ten prvy error hovori, ze vam chyba typ (navratovy) pre funkciu:
PXCAPI int pxcInitialize(int argc = 0, char const* argv[] = NULL);
Ono ho tam mate, ale po rozvoji PXCAPI:
extern "C" __attribute__ ((visibility("default"))) int
pxcInitialize(int argc = 0, char const* argv[] = NULL);
kompilatoru podla mna nejde do hlavy __attribute__

miro

ut 15. 2. 2022 o 17:35 Pavel Hudeček <edizon na seznam.cz> napísal(a):

>
> No on ten #if pro win32 bude artefakt z dávné doby, teď se to buildí jen v 64b a mnou používané DLL je 64b, takže momentálně nemá smysl se zabývat tím co vzniklo, když jsem omylem buildil 32b.
>
> A důležité je, že stejné fajly C, H, DLL a LIB fungují při použití Cmake a též fungují při použití v QT, jen s přidáním LIB do projektu a tam fungují při všech metodách překladu, tedy cmake/VS, qmake/VS i mingw. Tzn. všechny 4 fajly jsou v pořádku, jen není správně nastaven projekt ve VS.
>
> Teď teda co je za problém ve VS při při 64b, s funkcemi deklarovanými:
> #define PXCAPI extern "C" __attribute__ ((visibility("default")))
> PXCAPI int pxcInitialize(int argc = 0, char const* argv[] = NULL);
>
> error:
> Severity    Code    Description    Project    File    Line    Suppression State
> Error (active)    E0260    explicit type is missing ('int' assumed)    prjTest4    C:\Users\hudecekp\Documents\Visual Studio 2017\Projects\sdk-test\prjTest4\pxcapi.h    140
> ukazující na začátek řádku, tedy před PXCAPI
> a další error:
> Severity    Code    Description    Project    File    Line    Suppression State
> Error (active)    E0065    expected a ';'    prjTest4    C:\Users\hudecekp\Documents\Visual Studio 2017\Projects\sdk-test\prjTest4\pxcapi.h    140
> ukazující před int.
>
> PH
>


Další informace o konferenci Hw-list