Portál AbcLinuxu, 13. listopadu 2025 19:14
#include <magic.h>
int main(int argc, char** argv)
{
magic_t han=magic_open(MAGIC_NONE);
return 0;
}
pri pouziti gcc prekladace (gcc mag.c -lmagic) to jde prelozit.
Nicmene pro svuj projekt potrebuji C++ prekladac a v tom se nahlasi nasledujici
[user@id mag]# g++ mag.c -lmagic /tmp/cccn41yX.o(.text+0x16): In function `main': : undefined reference to `magic_open(int)' collect2: ld returned 1 exit statusNevite nekdo co s tim? (Je nejaky rozdil k pristupu v knihoven pod C / C++, kdyz je nezavadim za behu? cili komoleni jmen by nemelo vadit)
extern "C" {
#include <magic.h>
}
int main(int argc, char *argv[])
{
magic_t han = magic_open(MAGIC_NONE);
return 0;
}
pošli prosím bugreport autorovi, ať dá do hlavičkového souboru obvyklé #ifdef __cplusplus extern "C" { ...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.