Where can find x86.obj? - object

When I debug C++ file of open source, the error message show that:
error 1 error LNK1104: cannot open file 'C:\Program Files\Microsoft DirectX SDK (June2010)\Lib\x86.obj'
The directory of Microsoft Directx sure have no file called 'x86.obj'.
So, what is the x86.obj? Where can I get it?
The platform I use is Visual Studio 2010.
I think the obj file maybe is a combine of .lib file... because in the path, I only see the lib file under the directory of /x86, so I guess:
The C++ use x86.obj, but it just means that it use lib file under /x86 directory.
So, is there any way to let many .lib file turn to one .obj file?
Any advising appreciate!

I have found the solution!
I try to search the text "pragma" all the file, and found what lib the C++ use, and I add it to the linker with whole path like: C:/Program Files/Microsoft DirectX SDK (June 2010)/Lib/x86/dxguid.lib
So, there is no x86.obj file! But if someone face the likely problem, remember to search (crl+F)"pragma", and check what lib you use and add to linker with whole path. Sometimes, the linker can not understand whether the "path" is directory or a lib file, so it occur errors.
Thanks for everyone!

Related

fatal error LNK1104: cannot open file

I get this error when compile in VS C++ 2010.
LINK : fatal error LNK1104: cannot open file 'cvblobslib.lib'
This project is stored on my company server. And I don't have full control.
Is that the problem?
Probably. The linker cannot access the remote lib file. Is there any way you can copy it locally?
If you cannot access the file through the OS, then the linker won't be able to either.
I just solve the problem in this way:
・ Remove the cpp file which contain #include "[server-path]\cvBlobslib.lib"
・ Add it again to the project.

Including DLL's In VC++(VS2010) Project Output

Disclaimer: Am a C# developer trying to understand a few C++ fundamentals
Have created a command line project which has the .lib of a DLL file linked under Linker > Input > Additional dependencies, and also has the location of the header files specified under C/C++ > General > Additional Include Directories. Ran a build and all compiled okay, with the .exe being built in the Debug/Release dir.
Problem is I also expected the .dll file the project depends on to be there (just like when you add a reference in a .Net project) - but it isn't. When launching the .exe it complains that it can't find the DLL. Fair enough, but why didn't the VC++ put the DLL there if it knows it's required?
And is there a "best practice" to ensuring the dependent DLL files are in the output dir, other than manually copying them there? I have a project that will require use of some third-party libraries, and I was hoping the IDE would help me manage them...
Big thanks for any guidance given!
If you create solution which contains exe and dll, all output files are created in $(SolutionDir) Debug or Release subdirectories, and exe runs successfully. Otherwise, you have one of the following options:
Copy Dll in Post-build step to directory where it is available for loading (usually .exe directory)
Add Dll directory to PATH.

How to link a .lib in Visual Studio 2008 C++

I'm finding it really difficult to properly link a .lib file to my C++ Win32 Console Application. Here's my problem.
Just as in this MSDN article, I have developed a MathFuncsLib.lib file.
http://msdn.microsoft.com/en-us/library/ms235627%28v=vs.80%29.aspx
Then, in the MyExecRefsLib Win32 Console App, I want to link to the above file. So, inside MyExecRefsLib folder (same folder where .sln file resides) I created a directory called "LibraryFiles" and placed both MathFuncsLib.lib file AND MathFuncsLib.h file.
Then, in Properties->Linker->Input I added both "MathFuncsLib.lib" and "MathFuncsLib.h" (without full path) and then in Properties->Linker->Additional Library Directories I added the path to my folder "LibraryFiles" which is what pretty much EVERY thread on the web about this problem tells me to do.
But now it gives me the following error:
fatal error C1083: Cannot open the
include file. 'MathFuncsLib.h': No
such file or directory.
What am I doing wrong? Please help.
Note that my code is exactly the same as what's in the above given MSDN link.
To link with a .lib file, you just need to:
right clic on the project name, select Properties
under Properties->configuration properties->C/C++->General item "other include directories" add the path to your .h file
under Properties->Linker->Input add the path and name of your .lib file
And that's it.

fatal error LNK1104: cannot open file 'ATL9ProPS.def'

I have a VC++ project. When i compile the project in VS2008 i get the following linker error:
**Error 1 fatal error LNK1104: cannot open file 'ATL9ProPS.def' **
I have been compiling this same code since a year (with minor changes here and there) now but never saw this error. Also, my project does not refer to any file by name 'ATL9ProPS.def. (I guess this file is part of a project that is save to computer during Visual studio installation)
When i searched for this .def file in my machine i found it in the following location
C:\Documents and Settings\Abi\My Documents\Visual Studio 2008\Projects\ATL9Pro.
But how on earth is this file bothering my project. I have no clue how this is linked to my project. Please help me resolve this.
For details
Project -> Properties -> Configuration Properties -> Linker -> Input
-> Module Definition File -> Replace this with the right def file.
Try my moving that file to a different location or by renaming the file. Also see if there is any path in the Linker -> Additional include directories refers to My Documents/.../Projects folder.
Anand,
Thanks for the response. Not exactly Linker -> Additional include directories but The Linker->ModuleDefenitionFile option was referring to the file name ''ATL9ProPS.def'. I just replaced this with the right def file and it worked. Thanks

fatal error C1083: Cannot open include file: 'boost/regex.hpp': No such file or directory

I am getting the following error when i build my code using regex.hpp I am using VS2010 VC++
fatal error C1083: Cannot open include file: 'boost/regex.hpp': No such file or directory
boost\boost_regex-vc71-mt-1_33_1.lib file is here.. is this correct?
It sounds like your include settings do not have the path to the boost installation parent directory.
Look at these instructions: http://www.boost.org/doc/libs/release/more/getting_started/windows.html#build-from-the-visual-studio-ide
and note especially the include directory setup.
You need to make sure that you have included the path to the Boost header files in Visual C++.
Follow the instructions here.
This issue arises because Visual C++ does not include the path to the Boost header files. By including the directory, Visual C++ will search that directory for the problem and hopefully your problem should be solved.
Maybe the error message is true? The file is not there?
If you are in Ubuntu, install the boost library with synaptic, including the regex package. It is not enough with downloading from the boost website and building the regex library in the computer (instructions in http://www.boost.org/doc/libs/release/libs/regex/doc/html/boost_regex/install.html), additionally you have to download it with synaptic. I guess this second redundant step is neccessary because synaptic may update some system variables (the $PATH???) and install some other dependencies that a direct download from www.boost.org does not do.

Resources