Some years ago on Ubuntu 16.0.4 I've used this library: git clone https://github.com/Beckhoff/ADS and using only the make command I got build, compile and finally on the main directory I found a file called AdsLib-Linux.a and maybe nothing more than this.
Now I'm on Ubuntu 20.04 I need this library once again but this times make dosn't produce the same output and looking forth to the ReadMe instructions I finally used that instead of make:
meson build
ninja -C build
That now create a new directory build but no .a file as before on the root directory. Instead a new file in the build directory libADSLib.a is there. The same thing happens using right the make command.
Maybe the author changed over the years something on the config files or the behavior of the tools have changed, but I cannot get the former file anymore and I need it for other referencing code that now is not executing anymore.
Looking to the MakeFile I found that in the example folder, differently from the one on the parent directory, the MakeFile has something like that:
$(warning ATTENTION make is deprecated and superseeded by meson)
...
${PROGRAM}: LIB_NAME = ../AdsLib-${OS_NAME}.a
...
But all i've tried reading the guides on meson and ninja about setup, configure, build, and so on, did not produce anymore that file.
I've tried also to first build and then copy all files form the example folder to the parent directory and then build again, but again no .a file there.
How's the right way to configure the build process corectly so that this -Linux.a file is created. Or if not possibile anymore, what does it now produce I can use instead of what produced before?
Meson is a build system generator, similar to CMake or somewhat like ./configure, you need to run meson, then run ninja to actually build something.
You need to run both meson and ninja:
meson setup builddir
ninja -C builddir
Once you do that successfully, there will be a libAdsLib.a inside the builddir directory.
Let me correct a bit #dcbaker, according to their README you should setup build as build directory:
# configure meson to build the library into "build" dir
meson build
# let ninja build the library
ninja -C build
Of course, in general, it shouldn't be specific, but their example code is written in a weird way so this path is hard-coded. So, to use the example:
# configure meson to build example into "build" dir
meson example/build example
# let ninja build the example
ninja -C example/build
# and run the example
./example/build/example
About the library: it's now libAdsLib.a and produced in build directory. The name is set here and it's now in linux naming style, the old one - not. So, you have options:
Update your configuration/build files (Makefile?) where you use it
Copy or make symbolic link, e.g.
$ ln -s <>/build/libAdsLib.a <target_path>/AdsLib-Linux.a
Above it's very dependent on your development environment, do you have installation or setup scripts for it? do you permissions to modify/configure parameters for target application? do you need to support both old and new names? - many questions not related to original question about meson.
in a bash file, There is code like below. searched for shell commands and found no build-related stuff.What is the role of this build in the bash file? This bash file is used to install bazel
build --curses=no
build --curses=no
build --show_task_finish
build could be an alias, function script or binary in your path. This has not nothing to do with bazel. You can execute type build in your shell prompt to see what build refers to.
I am trying to run Pharo on my system (Ubuntu 17.10 64bit).I followed the exact procedure as given in the book Pharo By Example.
I Went into the Pharo6.1-64 directory and ran the following command in the terminal
./pharo shared/pharo6.1-64.image
I expected this to open the Pharo window where I can write code but instead saw this error in the Terminal.
./pharo: line32: /home/user/pharo6.1-64/vm/pharo: No such file or directory.
Do I need to download any additional files ?
I downloaded the zip from here and it said just extract and run.
It looks like there is something wrong with the file you downloaded. It does not seem to contain a vm. For now, try the other method mentioned in the book:
wget -O- get.pharo.org/50+vm | bash
Copy the pharo.image and pharo.changes to the directory containing the pharo executable and from terminal run the command
Pharo_executable path_to_Pharo_image
Is their a way to set xcconfig file for a project from command line much like how cocoa pods does on running pod install ?
So to answer your question directly, xcodebuild has the flag -xcconfig filename. Read the documentation for the command with man xcodebuild.
I've been attempting to implement the Perl script found here: best way to add license section to iOS settings bundle
I've followed the instructions given to a T but when I go to run my project I get the following error after changing the permissions of the script to CHMOD 755:
No such file or directory at ./LicenseScript.pl line 10.
Command /bin/sh failed with exit code 2
Why won't my app compile?