.c works but .cpp doesnt??
BlitzMax Forums/BlitzMax Programming/.c works but .cpp doesnt??
| ||
| i tried to do a hello world in C++ which worked when the file was called keefy.c but didnt work when it was called keefy.cpp it said 'undefined reference to Say' here are the sources: keefy.cpp
#include <stdio.h>
void Say(char *str)
{
printf(str);
}
keefy.c
#include <stdio.h>
void Say(char *str)
{
printf(str);
}testc.bmx
Import "keefy.cpp"
Extern
Function Say(str:Byte Ptr)
EndExtern
Say ("hello".toCstring())
|
| ||
| "void Say(char *str)" try "void Say(const char* str)" |
| ||
Try this#include <stdio.h>
extern "C" void Say(char *str); // It says this somewhere in the BlitzMAX Docs about using the extern keyword with c++
void Say(char *str)
{
printf(str);
} |
| ||
| oh yeah it was extern "C" thanks how do you do it 'the other way around'? I want to call a blitz function in a .cpp file it works in C but not in CPP |
| ||
| Look in the bmax generated assembly file for the properly named function. |
| ||
| i got it to work now thanks |
| ||
| Don't mix C++ and Blitz on your own if you can avoid it. It will give you a headache. |
| ||
| Don't mix C++ and Blitz on your own if you can avoid it. It will give you a headache. How so? |
| ||
| I'm not talking about wrapping useful C++ code to be used in Blitz :P |