Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

LNK4001 Error Fixed by Changing TEMP?

durisinm
新手
759 檢視
Steve,

In this previous thread you commented that fixing an LNK4001 error can be done by changing the definitions of the personal TEMP and TMP environment variables to be file paths that don't include any spaces. I'm getting that error now, and I don't understand why my linker isn't getting any output sent to it. Is changing the definitions of TMP and TEMP still the way to fix this?

I'm using CVF 6.6B on Windows XP Pro with SP1.

Mike

Message Edited by intel.software.network.support on 12-09-2005 01:33 PM

0 積分
7 回應
Steven_L_Intel1
759 檢視
Not if you're using CVF 6.6. Please send a ZIP archive of your project to us at vf-support@compaq.com so we can take a look.

Steve
durisinm
新手
759 檢視
Steve,

My project with its sources is about 145MB uncompressed. I won't be able to e-mail it to you. Do you have a location to which I can send it via ftp?

I also forgot to mention in my original post that this is a debug configuration I'm building. I haven't tried to build a release configuration yet.

Mike
Steven_L_Intel1
759 檢視
Just send the .dsp and .plg files for now - I probably don't need the rest.

Steve
durisinm
新手
759 檢視
Steve,

I may have figured out the reason for the linker message. This project is a large one that I inherited. The build step in question is for a DLL, and it has several other projects as dependencies for it. Each of those other projects produces a .LIB file. The linker uses the library files from the previous steps and system libraries as its input to resolve all its object references. It doesn't get any object files as input, but I guess it doesn't need any.

I do have two other questions for you that came out of this. What's the difference between the .PDB files produced by the /pdb and /pdbfile options? They both contain debugging information, but I can't tell from the documentation what's different between the two.

While I was investigating my original question I tried to use the /watch option I saw in the documentation; however, when I rebuilt my application that option generated a warning message telling me that /watch was unrecognized and ignored. I got the information I wanted by using the /verbose option instead. What happened to /watch?

Mike
Steven_L_Intel1
759 檢視
If I understand it correctly, each compile puts out a .PDB for that individual compilation. These are then combined into a single PDB file by the linker. /PDB is the linker option, /PDBFILE is the compiler option.

/watch should work when typed in the Fortran Project Options box. This is a Fortran driver switch.

Steve
durisinm
新手
759 檢視
Steve,

I don't think you're correct about each "compile" producing a .PDB file from the /pdbfile compiler option. For each project with several source files I get one DF60.PDB file (default name) from the compiler /pdbfile option and one project_name.PDB file (default name) from the linker /pdb option.

If I'm building a debug configuration and want to debug the resulting program, then do both .PDB files have to be present or just one? If it's just one, then is it the one from the compiler option or the one from the linker option?

Mike
Steven_L_Intel1
759 檢視
I'm a bit fuzzy on how this works, but I think the compile appends to DF60.PDB and then the linker creates projectname.PDB. You're right in that there is not a separate .PDB created for each compilation.

Steve
回覆