Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2020 April 29

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
yea i dont know how to get cmake to compile my C files using clang instead of clang++
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
if file extension is "c" - it will compile it as "c" file.
if extension is "cpp" -  it will compile it as "c++" file.
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
but not if they are mixed in the same library?
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
you can mix c and cpp files
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
eg if the lib has both C and C++ files
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
and C++ declares a C definition
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
eg extern void main(int argc, char ** argv);
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
would that still need to be extern "C" void main(int argc, char ** argv); since even tho it is being compiled IN the same library as the C++ file, it will not link the same way unless the file defining main is ALSO a C++ file
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
extern "C" void main(int argc, char ** argv);
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
in both header and cpp file you need to use to use extern "C"
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
eg $ g++ main.cpp realMain.c
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
vs $ g++ main.cpp realMain.cpp
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
what build system you use ?
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
cmake
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
eg $ g++ main.cpp realMain.c - this is not good.
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
and MacOS which cmake uses clang
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
it must be separate commands for c++ and c
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
G++ will compile everything mangled. Gcc wont iirc
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
even if the files are in the same command (g++ a.cpp b.c) ? eg is it not smart enough to automatically extern "C" any referenced C functions belonging to C files, in C++ files?
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
There is no smart auto extern
источник