I am very new to VCG. I've cloned the devel branch of the Git repo and tried to run the test/tetramesh program in theapps directory to test out the install. When I load it up in VS Community 2015 and compile, it fails.
Cannot open source file: No such file or directory
After changing these paths to fit my file system, the program still won't compile. The files referenced in the aforementioned headers also have broken paths. There has to be better solution than manually editing all these files.
Some direction or a helpful link would be greatly appreciated.
Thank You!
Looking at the test/tetramesh I see that a lot of header files are not present. Also under project properties the folder locations are wrongly defined for additional include directories.
I wouldn't put too much effort in this test....
Related
I'm developing a code which uses Easylogging++ as the underlying logging library. Recently, I wanted to update the library since it has some high visibility / high impact bugs and I found out that the library is divided into two files (.cc and .h). This new structure needs inclusion of the .cc file in the build string alongside the main program code.
I'm using Eclipse to develop the project and generate the make files to build the project. I need to tell Eclipse (Oxygen.1) that it needs to compile the .cc file alongside the main file while building the project, however I was unable to do so. Any help is greatly appreciated.
It's easier than I thought. Eclipse's managed build is more intelligent than it seems. Adding many source files under the /src folder causes Eclipse to automatically compile all the files under that folder, unless you exclude them.
This means adding the .h to /lib folder and the .cc file to the /src folder and modifying to .cc to look for the .h file under /lib have solved the problem neatly.
To complete the compilation I had to add some flags, since the developer likes to extensively modify his library between releases.
Everything is working fine again.
Adding the libs in the source control and adding the correct paths to the Visual Studio solution does absolutely nothing. My local project compiles fine, but the online CI compilation fails every time.
LINK(0,0): Error LNK1104: cannot open file 'xxx.lib'
I've tried any possible combination of relative paths and settings that work in VS2015 at this point. The documentation is really scarce and all I was able to find was some ambiguous advice around TFS project files (which I don't have, because the repo is a remote GitHub repo) and workspaces (which I don't know how to set up). I'm also aware of this "NuGet" package thing, but I'd rather not have to construct an entire dedicated package for a couple of library files that I already have in the directories.
I can't believe there really just isn't a simple setting to include third-party SDKs though. Even including the libs in the source control is bad practice, so I might have missed something pretty big here. Any advice?
Following is my folder structure in local and VSTS:
In my local machine, lib file is placed in "test" folder under "MyCon" project folder:
The folder structure is almost the same after added into source control:
Path in Linker:
Settings if the lib file is in solution folder:
I'm trying to start development with opencv. The problem is, until now I coul barely setup the opencv cos I cant find its header files.
I made some research regarding to this subject but none of them were realy helpful, below some of the links:
Where are the opencv2 include files?
http://answers.opencv.org/question/14712/opencvhpp-not-in-opencv2/
I made the built the files using CMAKE GUI - Built the code with MVS 11 x64 both debug and release. The compilation suceeded and I cant found libs and dlls, but no headers at all anywhere.
Checkout the pics:
Opencv2 folder
Local folder
So, now I ask, What am I missing here?
Thanks for the help
EDIT ONE:
Is that what you meant?
EDIT TWO:
I found some headers inside the source of opencv, and each of them is inside an specific folder, like core, highgui and so on - that is it? or something still wrong? cos I thought I should take the headers on the build, no on the source..
append "opencv/build/include" to your include path.
if you built the opencv libraries yourself using cmake, make sure you run the INSTALL project, and add the folder, where it installed to.
When you run make install then the include files that you need are copied to a single directory determined by the makefiles and probably displayed as a part of the output.
I know what's going on. After built the entire solution, under the "opencv" solution strcutre, there is a folder called "CMakeTargets", expand this folder, you can see "INSTALL" project, and right-click this project, then select "build" option, then after installation, all libraries and head files will be located at the correct path. Like the following picture shows:
here
Take a look at the settings that were in use when you built OpenCV - the include path must point to where the include files are for your build to have succeeded.
So I am creating an app in VS2012 in MFC using an old Microsoft SDK (called VisSDK for machine vision) which worked fine with VS6. The problem is, I get this LNK1104 error, Cannot open file VisImSrcLibDB.lib.
I have done a search through the project for VisImSrcLibDB...but nothing came up. I have checked all the header files (external) and tried to see where is this being called.
I can presume (based on the name) that it seems to be part of the SDK, but cannot for the love of god figure out where is this being called from.
Any Help would be appreciated in this. Here is a screenshot:
PS: yes I have mapped the lib folder of the SDK under LINKER properties. and the corresponding include folder in the Additional Include directory.
If you haven't already, you should turn on the VS flags for verbose output. That should give some indication as to why things are being pulled into the build.
The VisImSrcLibDB.lib must exist some where in your VisSDK directory.
Use the PROJECT-Properties command, All configurations from the Configuration drop down list and add the directory containing the VisImSrcLibDB.lib file to the Library Directories in the VC++ Directories section.
I have used visual studio 2010 express for a while and have played with some extensive projects for quite some time. Since i'm nearing 50-60 files and thousands of lines of code, i've decided to do some source control for everything so that the project is more easily updated and accessible between all my devices, while also being back up.
I have used git before and am comfortable with it, but now when i made the commit and pushed it to a remote repository on bitbucket.org, i found that the .vcxproj files, while still retaining their correct file structure, also retained the include and lib directories for the device it was pushed from, meaning that when pulled down to another computer, those include/lib directories would be looking in the wrong directories, meaning i have to revise all of them every time i pull/push.
My question, Is there anyway i can push files to the repository such that the solution keeps the folder setup, but not the include and lib directory settings?
Edit:
After some research, i went looking into these so called property sheets in visual studio which are files that can be added to your project. The settings you set their take precedence over the settings of the project, but then the snag there is, if you add the individual property file to the project and then push the the .sln file, and the various .vcxproj files without that .props file, and then someone else clones from the repository, it won't open because it apparently requires that props file.
What i would like along these lines is a default .props file in the remote repository that, when cloned over, is no longer tracked, and then that user can just edit it for themselves. I don't know enough about git thought to make this happen. Does anybody have an idea?
I'm not sure what your problem is exactly, but here's my understanding:
Your project files contain absolute paths (e.g. "C:\myproj\include"). Replace these with relative paths (e.g. ".\include"). The "$(SolutionDir)" variable helps: if your solution file is C:\myproj\myproj.sln, then "$(SolutionDir)include" is the same as "C:\myproj\include". You can change the include and library directories in Project Properties > Configuration Properties > C/C++ and Linker, respectively.
Your project requires third party libaries - such as boost - and these are outside your project, say C:\boost. Unfortunately Windows/VS doesn't have a standard location for third party libraries, so you can either:
Include the library in your project. This is perfectly fine for small libraries, but it's not something you'd want to do with something like boost, which is both big and tends to be used widely.
Mandate that all devices set up these libraries in the same location, e.g. C:\sdk
Use an environment variable, like $(SDK_DIR) in the project, and all devices must set this environment variable.
Let me know if this helps.
What you're after are git's smudge and clean filters. You'll have to write a script for the cleaning, but sed'll probably do the job just fine, you won't need real xml parsing.