Hi. So, I recently started to write a "pluggable" library. You can check it from here: http://quickgit.kde.org/index.php?p=scratch%2Fromariorios%2Flibkodri.git&a=summary.
It was all good until I tried to write a dummy plugin for it (currently available in the dummy_packagesource branch of the above repo). It was a pretty trivial plugin, it just implemented the pure virtual functions from the interface. But I kept getting this error: [100%] Building CXX object packagesources/CMakeFiles/kodri_packagesource_dummy.dir/dummypackagesource.o In file included from /home/kde4/kde-master-install/include/kodri/abstractpackagesource.h:29:0, from /home/kde4/kdesrc/libkodri/packagesources/dummypackagesource.h:23, from /home/kde4/kdesrc/libkodri/packagesources/dummypackagesource.cpp:20: /home/kde4/kde-master-install/include/kodri/version.h:31:28: error: expected initializer before ‘:’ token /home/kde4/kdesrc/libkodri/packagesources/dummypackagesource.cpp:1381:1: error: expected ‘}’ at end of input make[2]: ** [packagesources/CMakeFiles/kodri_packagesource_dummy.dir/dummypackagesource.o] Erro 1 make[1]: ** [packagesources/CMakeFiles/kodri_packagesource_dummy.dir/all] Erro 2 make: ** [all] Erro 2 I then suspected that the KODRI_EXPORT macro wasn't being expanded when the exported classes were included outside the library. Then I manually replaced KODRI_EXPORT by __attribute__ ((visibility("default")) and, as I suspected, the error vanished. Of course, other errors appeared afterwards, but I'll try to solve them later. My question is: why doesn't the macro expand? I followed the techbase tutorial on creating new libraries step by step, so I can't see where I got it wrong. Best regards. -- Luiz Romário Santana Rios
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<