/Volumes/HD2/FBtoC/build_temp/Blah.c: In function 'SendHandleMessageToLog': /Volumes/HD2/FBtoC/build_temp/Blah.c:3027: warning: passing argument 1 of 'BlockMoveData' makes pointer from integer without a cast /Volumes/HD2/FBtoC/build_temp/Blah.c: In function 'FBToCResourcesCopy': /Volumes/HD2/FBtoC/build_temp/Blah.c:3955: warning: passing argument 4 of 'GetResInfo' from incompatible pointer typeFB is weakly typed; it makes little distinction between pointers and other 4-byte vars such as longs. C is more strongly typed, and the compiler complains when the wrong 4-byte type is used. These warnings are nearly always harmless and can nearly always be ignored. These warnings can be eliminated by typing variables correctly and not relying on FB's weak typing. Cleaning up the compiler warnings helps identify (often there is a long list of warnings) any warnings that DO need to be addressed, so cleaning up even harmless warnings can be beneficial.
symbol _atan2f used from dynamic library /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(floating.o) not from earlier dynamic library /usr/lib/libmx.A.dylib(single module) symbol _asinhf used from dynamic library /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(floating.o) not from earlier dynamic library /usr/lib/libmx.A.dylib(single module) ... ...The warnings are due to a minor bug in gcc 4.0.1, that shows up when you set Min OS deployment 10.3 and Max OS features 10.4. To suppress the warnings, paste this into 'More compiler options':
A: InstallControlEventHandler is the name of macro in Carbon. You have a function in your code with the same name. You'll have to rename it, for instance to MyInstallControlEventHandler.
/Volumes/HD2/FBtoC/Test Files/build_temp/Demo.c: In function 'main':
/Volumes/HD2/FBtoC/Test Files/build_temp/Demo.c:1680: error: void value not ignored as it ought to be
You are trying to get a return value from a pure procedure. Here's an example from CoreGraphics.
include "Tlbx CoreGraphics.incl" dim as CGImageRef myImage dim something // legal but pointless in FB; illegal in FBtoC something = fn CGImageRelease( myImage ) // <-- void value not ignored as it ought to be // this syntax avoids the error and is legal in both FB and FBtoC fn CGImageRelease( myImage ) // illegal in FB; legal in FBtoC call CGImageRelease( myImage ) CGImageRelease( myImage )
do HandleEvents until 0 // never quits do HandleEvents until ( gFBQuit ) // ah, that's better
FBtoC: translating project QuartzDrawing
...
ld: Undefined symbols: _HIPointConvert referenced from QuickTime expected to be defined in Carbon Compilation failedThis is Apple's bug. There was a botched QuickTime update for 10.3.9.
There's no official way, but this workaround isn't especially challenging.
[1] Turn on the 'Log UNIX commands' checkbox in FBtoC preferences settings.
[2] In FBtoC, open your project and wait until compilation finishes.
[3] Optionally edit the *.c files in the relevant build_temp folder.
[4] From your FBtoC Log window, copy the 3 consecutive blue lines beginning with cd, gcc, and touch. For example:
cd /Users/rp/Desktop/build_temp; gcc -I/FutureBasic/FBtoC/FBtoC_Preview1a117/build_goodies /Users/rp/Desktop/build_temp/untitled_1.c -fpascal-strings -framework Carbon -framework QuickTime -framework IOKit -o /Users/rp/Desktop/untitled\ 1.app/Contents/MacOS/untitled\ 1 -mdynamic-no-pic -trigraphs -Wall -Wno-trigraphs -Wno-sequence-point -Wno-multichar -Wno-deprecated-declarations -Wno-unused-label -Werror-implicit-function-declaration -O0 -pipe -gused -Wl,-dead_strip 2>&1 touch /Users/rp/Desktop/untitled\ 1.app
[5] Paste these lines into Terminal.app to replicate the compilation step of the FBtoC build.
The special first parameters for FlushWindowBuffer (_FBAutoFlushOff, _FBAutoFlushOn and _AutoFlushPrint) are therefore neither defined nor needed in FBtoC.
Please change your code to:
#if ndef _FBtoC FlushWindowBuffer _FBAutoFlushOff // FB sees this; FBtoC does not #endif
... Not yet implemented by FBtoC in line 25 of Demo.bas: use #if/#else/#endif instead 25: compile long if 1 ^No answer has been received for this FAQ.