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
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
連結已複製
7 回應
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
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
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
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
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
/watch should work when typed in the Fortran Project Options box. This is a Fortran driver switch.
Steve
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
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
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
Steve
