Compiling error. G++ cannot expand MACRO

Hello


I'm getting the following compile error I'm not sure what is the cause. I'm using Ubuntu 12.04, GCC and G++ 4.8.1, Clang 3.3, with cmake version 3.3.2. The specific code relates to Nanodbc latest version on Github. I run 12.04 in 64-bit mode and additionally boost-1.48 dev files.

What is happening? How might I fix it?

Vivienne



1
2
3
4
5
6
7
8
9
media/home2/vivienne/Urho3D-MasterCurrent1.4/Source/ThirdParty/nanodbc/src/nanodbc.cpp: In member function ‘nanodbc::result nanodbc::statement::statement_impl::async_complete(long int, nanodbc::statement&)’:
/xxxxxxxxx/vivienne/Urho3D-MasterCurrent1.4/Source/ThirdParty/nanodbc/src/nanodbc.cpp:146:65: error: ‘SQLCompleteAsync’ was not declared in this scope
     #define NANODBC_CALL_RC(FUNC, RC, ...) RC = FUNC(__VA_ARGS__)
                                                                 ^
/xxxxx/vivienne/Urho3D-MasterCurrent1.4/Source/ThirdParty/nanodbc/src/nanodbc.cpp:1187:9: note: in expansion of macro ‘NANODBC_CALL_RC’
         NANODBC_CALL_RC(
         ^
make[2]: *** [Source/ThirdParty/nanodbc/CMakeFiles/nanodbc.dir/src/nanodbc.cpp.o] Error 1
make[1]: *** [Source/ThirdParty/nanodbc/CMakeFiles/nanodbc.dir/all] Error 2


Based on the code here https://github.com/lexicalunit/nanodbc/tree/master/src specifically https://github.com/lexicalunit/nanodbc/blob/master/src/nanodbc.cpp

Last edited on
The problem is not with the macro
error: ‘SQLCompleteAsync’ was not declared in this scope
you are missing database code.
Found the function here https://msdn.microsoft.com/en-us/library/hh405026(v=vs.85).aspx but being microsoft perhaps the programs doesn't work for linux.
Hi
It had some functions not compatible specific to Windows but not important. Removing them helped.
Viv
Topic archived. No new replies allowed.