projectCreator points to wrong directory

I want to build OF from github, so I follow the instructions here:

when I run the project Generator, I get the following error:

Command failed: /bin/sh -c “/home/eamoc/openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator” -o"/home/eamoc/openFrameworks" -a"ofxGPS,ofxNetwork,ofxPoco" -p"linux64" -t"" "/home/eamoc/openFrameworks/apps/myApps/mySketch"
/bin/sh: 1: /home/eamoc/openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator: not found

I have been trying to bodge my way out of this but nothing seems to work. Is there something I am missing??

Hey @eamoc,

Are you running linux? Did you run the compilePG.sh script after acquiring the project generator library? If you use Qt Creator, there is a different script in /scripts/qtcreator that will install some templates, which will allow you to create or import a new project and is a nice alternative to the project generator.

Sorry, I should have been more specific.
Yes, running (Void) Linux. I copied over the compiled version like it says on the github page.
When I try to build by running compilePG.sh, it fails on the “Poco/Util/Application.h”.
I think it gets confused with how Poco uses relative paths.
I could be forever hardcoding include paths for the poco library during the compile, unless I could find a fix for that.
I’m trying to avoid QtCreator, and use Vim, with coc.nvim for the AutoCompletion. I have yet to figure out how to do it though. I think I need to generate a compilation database. Kind of off topic I know but, I can generate one by prepending the make command in compileOF.sh with ‘bear’ (Build EAR, a compilation db generation tool for Clang).

Hum. Well I wish I could be more help. I have Mint 19 on a laptop with 0.11.0 (so not from the nightly builds) and Qt Creator. I got an error similar to yours before I compiled the project generator, which seems to make new projects OK after compiling it.

I have a Raspberry Pi that I sometimes use with oF, and for that I copy and paste the emptyExample project (or similar) as a starting point for a new project (no project generator on the Pi if I remember right). And I sure miss the auto completion on the Pi, which I find really helpful and fast.

Maybe if you get it working with Vim in a nice way (with auto complete) you could update your post? It might help others who don’t use Qt Creator.

I tried following the INSTALL_FROM_GITHUB.md method too, and the project generator seems to work OK. This is what I did:

  1. download the zip file for the master branch and unzip it
  2. download 0.11.2 from the Downloads page
  3. copy the folder /projectGenerator-linux64 from (2) into (1)
  4. copy the folder /apps/projectGenerator/commandLine from (2) into (1)
  5. copy the folder /apps/projectGenerator/ofxProjectGenerator from (2) into (1)
  6. run the compileOF.sh script as sudo
  7. run the compilePG.sh script as sudo
  8. from the file manager, run the projectGenerator program by double clicking it int the folder /projectGenerator-linux64

It seems to run from the command line too I think, but I’m not super savvy with command line stuff and don’t know enough about the flags and the process to create a new project. Hope this helps!

I finally got it to compile with no problems. I was missing some library files in the end (smh).

Regarding the Autocomplete vim setup. I use coc.nvim (The Conqueror of completion). Its a great versatile plugin for loads of different languages.
GitHub - neoclide/coc.nvim: Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
To set it up for OF AutoCompletion, first make sure that the clangd language server is installed. as well as Bear:
GitHub - rizsotto/Bear: Bear is a tool that generates a compilation database for clang tooling. .
It might already be in your distro package tree.

Then clone OF:
git clone --recursive git@github.com:openframeworks/openFrameworks.git
Next, open:
~/openFrameworks/scripts/linux/compileOF.sh
And replace make with bear make

When you compile OF, it will create a file called compile_commands.json.
openFrameworks/libs/openFrameworksCompiled/project/compile_commands.json

Copy this file into the root directory of your OF project, and coc.nvim will take care of the rest

2 Likes