Úgyhogy most egy ilyennel próbálkozom:
$ cat build.sh
...
if find /opt/freeware/lib/gcc/ -name assert.h 2>/dev/null | grep .; then
echo 'A gcc-fele assert.h-t jo lenne torolni a francba'
exit
fi
...
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 563 megtekintés
Hozzászólások
A *.specs nem segit ebben az esetben? Nem lehet hogy az maradt ki nalad? Legalabbis az ilyen "osszeomlanak az inkludok es/vagy a trivialis inkludokat sem talalja es/vagy hulyesegeket csinal" jellegu problemaknal mindig ez a *.specs volt a megoldas. Foleg beagyazott temaban, de nem kizart hogy egyeb kvazi-hasonlo (cross-compiling, egzotikusabb architekturak, stb) esetekben is.
- A hozzászóláshoz be kell jelentkezni
Most úgy nézem, hogy a 'paraszt üti az F8'-at egy jó megoldás.
Ettől függetlenül az egyparaméteres 'static_assert' a C23-óta hivatalos, szóval a derék programozó bele...na a konnektorba, amikor teleszennyezte vele a kódot. https://github.com/coreutils/gnulib/blob/master/lib/parse-datetime.y
Szerk: persze van egy nagyon tudományos opció erre:
gcc ... -D'static_assert(...)=/* fax usse ki a fogukat */' ...
- A hozzászóláshoz be kell jelentkezni
Akkor az a gond hogy tul uj a kod es regi a fordito? Ez nem segit? https://en.cppreference.com/w/c/language/_Static_assert
- A hozzászóláshoz be kell jelentkezni
Stimmel, innen olvastam ki, hogy az egyparaméteres változat csak C23-tól szabvány, hogy egyes fordítók korábbi szabvánnyal is tudják (pl -std=c11), az jó dolog, de nem kötelez senkit semmire.
További érdekesség a gnutls fordításához:
...
./configure
sed_repl 's;#undef/**/assert;/* pocsoddel jatsszal, kerlek */;' config.h
...
- A hozzászóláshoz be kell jelentkezni
/usr/bin/sed -i 's/\@anchor{.*//g' functions/*
/usr/bin/sed: illegal option -- i
Gondolom, platformok ezrein tesztelték, úgymint Ubuntu LatestAnimal/x86_64 és... ja, nem, nincs és, ez volt a teljes lista.
Jót fogtok derülni, ha elárulom, mit kell a sed fordításához javítani:
sed_repl 's;\(#undef/\*\*/assert\);/* #undef assert -- pocsoddel jatsszal, kerlek */;' config.h
- A hozzászóláshoz be kell jelentkezni
Nem vagyok egy nagy assert guru es/vagy felhasznalno, de eleg sok projektben azt latom hogy egy sajat
#define my_project_assert(x) (...)
jellegu definiciot csinalnak a teljes projektjukre es akkor azt (es kizarolag azt) hasznaljak vegig. Es ha barmi miatt nem tetszik az assertalas akkor viszonylag konnyu kikapcsolni :] Akar a gyarit, akar sajat implementaciot - pl FreeRTOS portoknal en is kikapcsolom hogy kisebb legyen a kodmeret es/vagy nagyobb lehessen a "hasznos" kodmeret ami az RTOS felett van.
Szoval barhogyis, a f*&*@#@&^() helyett inkabb ilyen iranyba mennek el.
- A hozzászóláshoz be kell jelentkezni
Ezt a terméket én csak lefordítani szeretném, nem refaktorálni ;-)
- A hozzászóláshoz be kell jelentkezni
Nagy elmék, ha találkoznak: a sys/thread.h
-ban is van egy thread_init
, meg a dirmngr.c
-ben is. Majd sorsolok, hogy melyik nyerjen.
- A hozzászóláshoz be kell jelentkezni
Hát az LDAP hiányába Aix-no is belehal a fordítás...
- A hozzászóláshoz be kell jelentkezni
Az OpenLDAP is ott van a szeren:
configure: WARNING: disabling threads, no cc_r on AIX
Valami bcg, vagy ggg, vagy gcc, az nem cseng ismerősen? Nem? Gondoltam.
- A hozzászóláshoz be kell jelentkezni