Calling a OSX package from xcode c++ program terminal - c++

im planning to build a c++ application based on another c++ package (aria2c) i found over the internet which acts as a ready made wheel for me. I have already installed the package on my machine, but the problem is when i run system("aria2c"); it outputs "command not found", whereas if i run system("git"); (which i have also installed) it will output the git's man page.
calling "brew" also doesnt work whereas git, ls and some other that i tried work.
So can someone explain to me why i cant access that package ? and if there is any solution to it ?

The most common mistake is that the pacakge might be installed for a particular user or at a particular path. Make sure that you have the library/application in your path list
To do that ,i would suggest first finding where the package is installed and then do echo $PATH in terminal to see if its in your path variable

Related

unable to uninstall netbeans 8.0.2

Error message showing is :
The specified target component - nb-base/8.0.1.0.201408251540 was not
found in the registry. The installer can continue as if the target
component was specified. Click yes to continue, No to exit the
installer.
I have tried a lot to uninstall my NetBeans8.0.2 but were unable. After lot of googling found out a solution. I think I should have and entry in stackoverflow.
Best way to remove Netbeans can be done using following steps
Remove the Netbeans folder from program file
Delete the .nbi(hidden) folder from your C:\User{Current User}
Go to control panel and remove it
It works for me hope it will you too!
Actually Devashish's answer is (partly) correct. If you click link provided by him, you will see that the problem (most likely) is because the install was done by a different user than the user who is uninstalling. (In my case, I added an admin user after the Netbeans install, so all computer changes now pass through the admin user)
Here is what I did to complete the install:
Find a .nbi folder under C:\Users\folder. This folder has .nbi folder under it
Open a command prompt and Go to NetBeans folder which has uninstall.exe
Run this command in the command prompt:
uninstall.exe --userdir c:\Users\folder\\.nbi
folder is the folder you found in step 1.
This uninstalled for me. Hope it helps you.
Go to C:\Users{User}\AppData\Roaming\NetBeans
Delete "lock" file
Uninstall NetBeans
Please follow the link to have a solution:
https://netbeans.org/bugzilla/show_bug.cgi?id=251943
The comment 5 has easiest solution:
Run Command Prompt in Administrator mode and run the following command :
uninstall.exe --userdir c:\Users\Administrator.nbi
Does not seem to work in my Win 10 environment. I've also tried
.\uninstall.exe --userdir c:\Users\Administrator\.nbi
.\uninstall.exe --userdir c:\Users\Administrator.nbi
'NetBeans 8.0.1'\uninstall.exe --userdir c:\Users\eric_2\.nbi
.\'NetBeans 8.0.1'\uninstall.exe --userdir c:\Users\eric_2\.nbi
.\'NetBeans 8.0.1'\uninstall.exe --userdir c:\Users\eric_2.nbi
You get the point. I'm running the WindowsPowerShell as an Administrator.
Someone here must have successfully deleted it even with the error message from the OP. I just have to find out who!
Eric
After struggling here and there, I:
Opened c:\Users\XXX\AppData\Roaming\NetBeans\8.2\lock where XXX was the user name. Then, I renamed lock. (The name didn't matter.)
Then, I went back and uninstalled NetBeans.
By the way, I had to delete Java separately.
I was having the exact same problem as above.
Prior to the "symptoms", I installed the application in a newly created folder on the C drive (Not the Program Files default installation directory).
I then changed the name of the folder directory where the executable was installed to enable a third-party script to launch the NetBeans executable as the script required no spaces in the path. In any case, in attempting to uninstall the application again, I got the above error.
I tried running the command as outlined above (namely) running the command prompt with the following:
C:\Netbeans\NetBeans 8.0.2>uninstall.exe --userdir C:\Users\mark.burl.nbi
it launched the uninstall but the same error popped up.
I then undertook the following and the problem was solved for me:
I manually deleted the NetBeans executable folder.
I then reinstalled NetBeans to the default Program Files location.
I then uninstalled NetBeans again no problem.
From PowerShell as administrator I removed all directories here described and finally enter regedit and search for all occurrences of “NetBeans (x86)”. And delete all of them then restart and after that everything is clear
You need to do the following:
Go to C:\Users{User}\AppData\Roaming\NetBeans
Delete the folder named after your Netbean version you want to uninstall
Uninstall NetBeans
Finally i found the reason. i.e while installing NetBeans i used our IT Team Admin credentials (assume user-1 ). But i am uninstalling with my credentials(assume user-2).
So, you can't uninstall. Follow below steps.
1.Go to C:\Program Files\NetBeans 8.0.1> you will find uninstall.exe file.
2.Find who is installed your netbeans for me user-1 (Admin).(You can find all users here C:\Users )
3.Then search for .nbi folder you can get at C:\Users\{user-1}\.nbi
Note: here user-1 is who installed your NetBeans initially.
finally open cmd prompt and run the command below given.
C:\Program Files\NetBeans 8.0.1>uninstall.exe --userdir C:\Users\{user-1}\.nbi
referred from https://stackoverflow.com/a/45387962/10971996
I had the same problem and no matter how hard I tried it won't uninstall until I installed it all over again then uninstalled.
Stop/ pause protection for your anti-virus. Then click on un-install. It will work for sure.

VSCode "go to definition" not working

I installed Visual Studio Code 1.1 with the C/C++ extension,
opened my C++ project and tried to use "Go to definition" in vain.
The "Go to definition" is not working at all.
Example, go to definition of a class member:
int i = m_myVar;
(I opened a simpler project with one file and it was working for this one)
In the end, what I want is good indexation of my big project, is there a way to install Intellisense?
I had a the same issue: F12 and Ctrl + Click and Right Click "Go To Definition" wasn't working.
The fix for me was:
Go to Extensions
Click "Disable All Installed Extensions"
Close and Reopen VS Code
Back to Extensions and "Enable All Extensions"
Essentially enable/disable all extensions fixed the issue.
I recently came across this same issue and after trying all of the suggested solutions I could find with no success, I found this article:
https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc
Basically my project grew too large and VS code was no longer able to track all files, which messed up the "go to definition" functionality.
After following the steps on the link to increase the maximum number of files to be tracked, the issue was resolved.
The correction is pretty simple (tested on Ubuntu 18.04):
Add this line:
fs.inotify.max_user_watches=524288
to the end of the file /etc/sysctl.conf
After saving, run the following command:
sudo sysctl -p
Hopefully this will be useful to someone else, this has been bothering me for the last few days.
I had a similar problem except with Python and google searches for solutions kept bringing me back to this post so I figured I'd post my solution here in the hopes that it might help other people.
I was working on a remote cluster through VScode Remote and was getting similar errors to the original question(all 'go to ___' functionality was unavailable and was even getting a 'too large to track' error) and I thought I had to increase the number of watches, which didn't end up helping.
All I needed to do was install a python interpreter on the remote VScode server. This fixed my problem.
I believe vscode 1.1 (well, 1.1.1 actually) + the C++ extension (cpptools) is as much Intellisense as we can get for now.
You should load your big project with the "open folder" function to make vscode know about the other files.
https://blogs.msdn.microsoft.com/vcblog/2016/03/31/cc-extension-for-visual-studio-code/ warns about letting the indexing finish first (red icon in lower right corner during indexing) and mentions the current limitations on the source code parsing.
It wasn't working on my laptop as well after installing a few VSCode extensions. I decided to close and re-open VSCode with administrator permission and suddenly it sorted out.
I have been trying to fix this for a long time. In the end, what worked for me was simply reinstalling VSCode, then installing the latest C/C++ extension (v0.18.1). Then, in your .vscode/c_cpp_properties.json file, under includePath, add your include folder which has all your header files.
I tried the methods mentioned in this thread none of them seemed to work for me. A simple solution that worked for me is that I closed the current workspace and created a new workspace, added the folders which I required(same as the old workspace), and saved the new workspace. Waited for a couple of minutes to index and IntelliSense is able to find definitions now.
I am using VSCode 1.52.1 on Ubuntu 20.04.
In my case, for whatever reason,c_cpp_properties.json has become set to Disabled in ~/.config/Code/User/settings.json.
Manually changing it to Enabled solved the problem.
Fixed mine by UNCHECKING C_Cpp > Default > Limit Symbols To Included Headers
Your mileage may vary. Good luck!
Have you saved your workspace? Or did you just open a folder with File->Open Folder? This question already has many answers, but none of them address this case, which was my issue.
The question is not specific enough for me to know if you are having the exact same symptoms as my case.
If:
You have not saved your workspace. vscode doesn't say "(workspace)" at the top of the window.
None of the goto functions are working, but instead report: "No ___ found for ____"
The tag parser database icon in the bottom right is always there but only reports "Parsing open files", rather than telling you how many files have been parsed.
Then:
Try saving your workspace.
If you have multiple versions of a language on your PC, specify the exact language you are using in the VScode(in my case, I am using Python, so I must specify the version to the python Interpreter in VS Code)
If you could not do it whatsoever, then uninstall all the other versions that you don't use and then if you go to VS Code, it will ask the version to be used, and you would have only one version, so when you select the version, the "Go To Definition" will be activated.
I was having a similar issue with java on Ubuntu 20.04 using OpenJDK version 11 (openjdk-11-jdk in apt). At first I didn't have the JRE installed, so I installed it and it still didn't work.
Afterwards, I went to the CTRL + SHIFT + P menu and then to Java: Configure Java Runtime, there I saw in the Java Tooling Runtime tab that /usr/lib/jvm/java-11-openjdk-amd64 was selected, changed it to /usr/lib/jvm/java-1.11.0-openjdk-amd64 just to see if it would work, and after a restart it did. I'm not sure why this is, but I hope it may help somone else.
For python ensure your code analysis settings are correct. In my case the languageServer was accidentally set to 'None'. Reverting it to 'default' or 'pylance' did the trick.
Just to inform if none of above works then
In my case i was using Kite extension in my VS code, I just disabled it and it worked. I think kite extension is blocking this feature.
OS: Linux Ubuntu 22.04
if you encountered with following error:
"The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path."
Normally Vscode remains unable to locate .Net sdk. need to set path manually.
sudo ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
restart omnisharp & restart vscode
No need to do anything. Just close and re-open. It will work.
I also faced similar problem. In my mac os cmnd + 'click' is used to 'go to definition' then it suddenly stoped working. If that is the case then please follow these steps:
restart vs code
restart pc
uninstall all extensions and reinstall again followed by a pc restart.
I had a similar issue with the extension C/C++ installed. I solved it by downloading an older version of the extension and upgrading to the last version. Somehow it solved the problem...

Can't run C++ in NetBeans: "No Shell Found" error

I'm trying to learn C++ using NetBeans but even though I have CYGWIN and everything set up in my PATH, I keep getting an error that says: "No shell found. Cannot proceed. Please install either CYGWIN or Msys."
I don't know what Msys is but since the error says "or" I assume that if I have CYGWIN that I don't need to have Msys.
I'm trying to run the basic "Hello World!" tutorial but this error from what I've seen isn't covered. I'm getting aggravated because I have a project I need to have done in a few weeks.
If anyone has any answers for me, that would be great. I can supply screenshots if you need them.
Cygwin alone is not enough, first of all you have to check if you installed C++/gcc/gdb packages in your Cygwin.
From Cygwin/Net beans docs:
Open the Control Panel (Start > Settings > Control Panel) and double-click the System program.
Select the Advanced tab and click Environment Variables.
In the System Variables panel of the Environment Variables dialog, select the Path variable and click Edit.
Add the path to the cygwin-directory\bin directory to the Path variable, and click OK. By default, cygwin-directory is C:\cygwin. Directory names must be separated with a semicolon.
Click OK in the Environment Variables dialog and the System Properties dialog.
If it fails you could try to Re-Install Netbeans from/within an cygwin/bash instance start the netbeans from a cygwin/bash instance.
Netbeans should automatically detect gdb/g++
PS: I'd prefer to use a good Gnu/Linux distro
I had the same problem with 8.1.
Adjusting the %PATH%-variable - in my case adding C:\msys64\usr\bin - solved it (as wdavilaneto's slightly verbose answer suggested).
This is not an answer but it adds to this question, I know that isn't very objective but in this case there may be a problem with Netbeans. I have 7.3 so this could be the reason. I am getting the same error but it used to work just fine, then one day it just stopped working and couldn't find the Shell. I have everything you need to make C/C++ work for Netbeans and it was working, for a while too!
It is rather old, but I've had the same issue a moment ago. It "Solved itself" by Creating a new "welcome sample" project and then made it run, then went back to my original project and made it run again. For me, it solved the problem. Probably it is related to an issue with Netbeans as Cian said.
Btw, I'm with Netbeans 8.1.
Make sure the shell is in your path! Depending whether you have Cygwin, Mingw32, Mingw32, TDM Mingw... it will be somewhere here:
c:\<installation path>\usr/bin
Hmh, I have 2 C compilers one for 64bit and one for 32bit set in NetBeans. When I had 32bit compiler without 64bit one then compiling went fine but when I have installed 64bit then NetBeans has started to do some problems, firstly everything went fine but then I started to get this problem to. For me fix is to switch from 64bit compiler back to 32bit compiler, then compile my program and then go back to 64bit compiler and now I can compile it with 64bit compile... Not sure why is this fixing it.
I have this problem with Netbeans 10.
Computer is Windows 10 x64.
Resolved by following the answer given by TNT.
Problem was when start building my project the said "no shell" (the topic of this posting) dialog box popped up. Since there was no command prompt, the build tools cannot run - process cannot spawn.
Solution was to give the correct path (environment variable). Since I am using MSYS, Since I am using MSYS, adding
F:\msys64\usr\bin
to my PATH made it work.

LibQxT does not detect Qt version properly

I am trying to install LibQxT to use it with Qt5, so I downloaded the sources and as soon as I run the configure.bat there is an error:
LibQxt requires 4.3 or newer but Qt 5.2.1 was detected.
Searching on the web Ive found out that apparently it doesnt know the correct path to the qconfig.pri (as seen here (last post)) so it doesnt really detect the version.
I have tried adding the path to the variable QTDIR in the ways described in the post (I tried to do it in the qmake cache located in the Libqxt folder and tried to define it as a environment variable). I havent found any clear solution to this problem, so I hope someone knows by now how to solve this issue.
Thankyou.
EDIT
What #vahancho said its true, if its not detecting the version, why does it name it? Perhaps its not detecting it properly.
But if it is, why cant it see that my version is higher than the requested one?
I have located the error and it fails at some point betweeen the echos and the if:
echo Configuration successful.
echo Generating makefiles...
cd %QXT_BUILD_TREE%
%QMAKE_BIN% %MSVCMODE% -recursive %QXT_SOURCE_TREE%\libqxt.pro
if errorlevel 1 goto mainqmakeERR
You can try to use the latest development branch of libqxt which could be found here. It will be compiled with Qt 5. You can just clone one copy of the source code by:
git clone https://bitbucket.org/libqxt/libqxt.git

is it possible to have a C/C++ GUI application in linux bare-bone server?

I am very disappointed with my school linux server when doing the homework on it.
The reason is: my homework requires to make GUI application.
All the tool that I have is:
- ssh from my local machine to school machine
- gcc/g++ in my school machine
I have been thinking and tried out different solutions for a week.
I still can't be able to figure out how to bring GUI to my application.
Here is some solutions I tried:
- Install some graphical library (sdl,ncurses...) but school computer does not allow to install because i'm not the root user
- Try to compile with /X11/ to produce X-GUI application. Then running it throgh ssh (tunneling). This does not work either because school computer does not have headers file located in X11.
So, What CAN I DO? Anybody has suggestion?
I will thank you million times if you could help for a solution.
Thanks you much.
tsubasa
It should be possible to install most things, like ncurses or even X11, in user space (in your home directory), if you install them from source. With a Gnu package, you just use --prefix= as an argument to configure, like this:
./configure --prefix=/name/of/directory/to/install/into
I'm not sure about the other packages.
Without a GUI library to link against, you won't be able to develop a C/C++ app on that server. It seems to me that you have a few options:
1) Develop this GUI app someplace else. If it has to be in Linux, and you're a Windows/Mac user, you can install Ubuntu (or some other Linux Distro) on a Virtual Machine and get a full featured environment.
2) Contact the Linux administrator to explain the homework assignment and convince them to install a GUI package for you. (It may help to have your professor also contact the Linux Administrator) (If you don't know who the linux admin is, try emailing root#linuxbox
3) Bend the rules on what a "GUI" environment is. For example, can your C/C++ app output HTML files for a GUI-like experience through a web-browser?
4) Try to install some sort of GUI package inside your account on the server. This will likely fail unless you are very, very good at administering a linux box, and you've hand-built packages before.
Could do it with ncurses
Perhaps you could ditch the school server and use Virtualbox to run a linux VM locally on your machine and develop on that. It's free.
From "INSTALL" file in ncurses source archive:
The package gets installed beneath the --prefix directory as follows:
In $(prefix)/bin: tic, infocmp, captoinfo, tset,
reset, clear, tput, toe
In $(prefix)/lib: libncurses*.* libcurses.a
In $(prefix)/share/terminfo: compiled terminal descriptions
In $(prefix)/include: C header files
Under $(prefix)/man: the manual pages
Note that the configure script attempts to locate previous
installation of
ncurses, and will set the default prefix according to where it finds the
ncurses headers.
Do not use commands such as
make install prefix=XXX
to change the prefix after configuration, since the prefix value
is used
for some absolute pathnames such as TERMINFO. Instead do this
make install DESTDIR=XXX
So I'd recommend using "make install DESTDIR=XXX" where XXX is the location where you have write persmissions.
HTH