[Tool]FemtoIDE

tool
open-source
release

#321

Finally had a chance to upload it here.


#322

I was compiling a C++ project with Femto and also made a changes to sources under …\FemtoIDE\PokittoLib\

Now I get a lot of these:
c:/bin/femtoide/ide-windows/windows/arm/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: 94.o:(.rodata.fontZXSpec+0x0): multiple definition of `fontZXSpec’; 121.o:(.rodata.fontZXSpec+0x0): first defined here

I have cleaned the project and build it again, closed and started FemtoIDE, and updated the latest FemtoID files to my environment but nothing seems to fix it.


#323

Did you duplicate the contents of the PokittoLib folder, by any chance? :thinking:


#324

Yes, I took a backup copy. I will remove it and see what happens


#325

Yep, it worked. Thanks! I did not expect Femto compiles everything there is.


#326

This is configured in your project.json:

	"libs": {
		"Pokitto": [
			{
				"recurse": "${appPath}/PokittoLib/Pokitto",
				"ignore": "POKITTO_SIM|POKITTO_XTERNALS|Documentation|examples?|Physics|(?:.*_SIM.*)|main.cpp"
			}
		]
	},

When compiling your project for the Pokitto, it compiles everything it finds in "recurse" while ignoring everything in the "ignore" blacklist.

This way it is possible to link with different libraries when compiling to different platforms (PC/emscripten). You can also include multiple libraries by adding them to the array.


#327

I know it isn’t tested and you may not be overly interested in debugging it but when I built and ran the demo c++ program, it cam up with this:

dyld: Library not loaded: /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib
Referenced from: /private/var/folders/k7/r7tkw3n15ql14qt3pwvjrvmm0000gn/T/AppTranslocation/89FBB5AA-9FDB-465D-A214-0FC3CB4360F5/d/FemtoIDE.app/Contents/Resources/app.nw/darwin/PokittoEmu
Reason: Incompatible library version: PokittoEmu requires version 10.0.0 or later, but libSDL2-2.0.0.dylib provides version 9.0.0

#328

Looks like the version of SDL I used was newer than the one you have installed. I wonder if the lib can be included with the emulator like on Windows.
In the meantime, do you think you can update your version of SDL?


#329

Errr … what is SDL? And what am I likely to break if I do upgrade?


#330

That’s Simple DirectMedia Layer, i.e. a gaming API.


#331

I have upgraded to SDL2 2.0.10 and a new error:

dyld: Library not loaded: /usr/local/opt/sdl2_net/lib/libSDL2_net-2.0.0.dylib
Referenced from: /private/var/folders/k7/r7tkw3n15ql14qt3pwvjrvmm0000gn/T/AppTranslocation/FA6A5D9B-2613-43DC-8972-F00E6C8B20BD/d/FemtoIDE.app/Contents/Resources/app.nw/darwin/PokittoEmu
Reason: image not found

#332

How did you do the upgrade? It would be good to document these things in the wiki on github.

Make sure you have SDL2_net and SDL2_image installed as well.


#333

OK sorted it out and created a wiki page on your repo with instructions. I look forward to building something!


#334

What is really interesting on the Mac is the cut and paste do not seem to work!


#335

Have you tried Ctrl instead of Command? The config.s has set copy/past/cut with Ctrl, not Command


#336

Ctrl does not work either … when I press the command key, I can see the ‘Edit’ menu highlight. I cannot even copy and paste using the Edit menu options.

In the config.js (I assume you meant this?) I see …

APP.bindKeys("global", {
    ...
    
    "C-c": APP.copy,
    "C-x": APP.cut,
    "C-v": APP.paste,
    "C-/": APP.toggleComment,
    "C-,": APP.goBack,
    "C-.": APP.goForward,

    "C-S-g": APP.gitCommitAll,
});

What should I change it to so that the command key works?


#337

Unfortunately I don’t know much about how the whole framework work.
Since I knew App.paste used to make a double paste on Windows, I assumed it’d at least work once on MacOS as well.


#338

Do any of the shortcuts work? Can you copy code from the editor and paste outside, or vice versa?


#339

I can copy from Femto (using command-c) and paste outside but not the other way around.

I cannot copy from outside and paste using the edit>paste menu option. I find this one the strangest.

Some of the other functions like command - / comments out code properly.

So it looks like paste is broken via the menu and the shortcut in Femto.


#340

Have a look in plugins/text.js, see if commenting this line works: this.ace.onPaste = function() { return ""; };

I’ll have to debug to find a proper fix.