Where are the X11 libraries stored? - macos

I just started teaching myself XLib, and I'm trying to figure out where everything is located. I've found the header files to be located at /opt/X11/include (I'm using MacOS if that's relevant), but I have no idea where I should tell gcc to look for the actual libraries. I know they're somewhere in /opt/X11/lib, but there are so many subdirectories I don't know where to look. Specifically, I'm trying to find the library file(s) associated with X11/Xlib.h. Help would be appreciated. Thanks.

On linux the library is libX11.so (it might be a link e.g. libX11.so -> libX11.so.6.3.0) and it is under the directory /usr/lib64.

Related

Missing libraries on compiled gtkmm program on windows (MSYS2)

after numerous issues I finally have succeeded in compiling (Using \mingw64\bin\g++) my program that uses GTK+ 3 (gtkmm3) on windows.
However, trying to run the .exe file now fails and it complains about the following missing libraries:
libstdc++-6.dll
libgcc_s_seh-1.dll
libwinpthread-1.dll
libatkmm-1.6.1.dll
I guess something about my path may be wrong? However I dont really know what to do as I didnt face something like this before. I would appreciate any help and I am willing to provide any information that may be neccessary to resolve it^^
Edit: I know I could just download or locate these libraries to make the program run, but I would like to know why it can't seem to find them as they belong to gtkmm (at least thats true for libatkmm-1.6.1.dll)
I found the answer myself... I have added in my case C:\msys64\mingw64\bin to my PATH variable. But now I face my program immediately closing after opening it. Well I guess the challenge continues ;)

wxwidgets platform.h error: no such file or directory wx/setup.h

I am using Code::Blocks with wxwidgets and I have include and lib folders under Document\wxwidgets. I am very new to c++ libraries. In Code::Blocks project initialization, I entered the location for wxwidgets. Then in setting/global enviornment variables I entered in base the Document\wxwidgets again. Still, I am not able to run the app. It shows the error in the include/wx/platform.h file where it says
C:\Users\Programming coder\Documents\wxwidgets\include\wx\platform.h|148|fatal error: wx/setup.h: No such file or directory|
I am not able to solve this and would appreciate some help. Also I checked and the wx folder does not seem to be there in the location. I don't know if that is normal.
Also, I downloaded the headers(include) from the wxwidgets github repo download page, wxWidgets-3.1.1-headers.7z. Any help appreciated.
Also, I am aware some questions exist already, but their problems are in different because most are using linux. Also I am using Code::Blocks IDE.
You need to build wxWidgets itself before building the applications using it. Its build process will create the setup.h file which is currently missing.
Note that, in principle, you could also use precompiled binaries, but in this case you must use exactly the same compiler as was used for compiling them, i.e. TDM gcc.

Where are the files necessary to modify when adding a system call to linux-2.6.31

when i search for adding a system call, i get many articles but they seem to be for old versions, it also seems like a trivial process.
But the problem is, the directories that articles suggest does not hold for the version 2.6.31. does anyone know where unistd.h, syscall_table.S and syscalls.h or their corresponding files are?
Thanks in advance.
for unistd.h : $SOURCE_PATH/arch/x86/include/asm/unistd_32.h
for syscalls.h : $SOURCE_PATH/arch/x86/include/asm/syscalls.h
for syscall_table_32.h : $SOURCE_PATH/arch/x86/kernel/syscall_table_32.h
obviously i'm on x86 machine.
On most Linux systems such header files can be found under:
/usr/src/kernels/$KERNEL-VERSION/include/linux/
You need to have your kernel sources installed to be able to do any kernel development though, if that's what're trying to do, since unistd.h is part of the standard gcc library as well.

Converting .DLL to .SO

Can any one of you help me in converting an windows dll file in a .so file.
You might try re-compiling the source code to the dll to a shared object. This may help you get started, after ensuring the code is indeed portable.
Edit:
Here is yet another link that can help guide you through the process of creating a shared library using GCC and other parts of the GNU tool chain. This link will help you to discover pitfalls that other people had when undertaking a project similar to this.
There is only so much help that can be provided for such a specific task, especially with so many unknowns. If you elect to provide more information in your question, please leave a comment.
NB: I'm pulling these links right out of Google.
If you don't have the source, or can't recompile, you may be able to run the code under Wine.
You need to recompile again into an .so file.

How do I know which OSBundleLibrary to include when using XCode?

It seems that I am doing something wrong or the linker is not very good in xcode (I imagine is the first situation :) ) but I found that I need to manually add the OSBundleLibrary references on the plist.
The problem is that sometimes I don't know which bundles should I include, for example, I am building a kernel extension and I am using VFS, it compiles but when I try to load it into the kernel it complains that it can not resolve all the VFS functions.
I usually include "com.apple.kernel.bsd" but when I check samples of VFS I can see "com.apple.kpi.bsd", a bit confusing.
Can anyone share some light?
Thanks!
I found the solution, there is a reference link with all the extensions:
http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptDependencies/kext_dependencies.html

Resources