|
That was the only way I could come up with to get just the path/filename from the command line value. We don't have so many jobs that it's burdensome to run, and I only needed to do it once.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
I don't see any problem with it.
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
I discovered that LNK1181 arises when the /P switch gets into the C/C++ compiler command line, preventing the compilation phase from producing an output file. This happened accidentally early in development, and for some reason remained enabled for my x86 Release build configuration. Once I removed the /P switch, the link step completed without errors.
Linker Tools Error LNK1181 | Microsoft Docs mentions other common causes, but says nothing about this one. When I discovered this, I opened an issue, Another Cause for LNK1181 · Issue #299 · MicrosoftDocs/cpp-docs · GitHub with Microsoft.
Since it might be a while before the suggestion gets into the documentation, this is a heads up. Meanwhile, at least there is a link to the issue.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Hi,
It's already documented. The /P option[^] suppresses compilation. It instructs the compiler to NOT produce an .obj file.
That /P compiler option will always cause the linker to fail. Because there was nothing produced that could be linked. The LNK1181 is telling you "object file not found" which is correct.
You should always make an attempt to fully understand each and every compiler option you are using. I'd recommend avoiding using compiler options that you do not understand.
Best Wishes,
-David Delaune
|
|
|
|
|
That's not the point, which is that the documentation would be more helpful if it mentioned that switch as something that will, obviously, elicit LNK1181. I spent a lot of time chasing down other potential causes that I wouldn't have spent if the documentation had mentioned the /P switch. Had it done so, I would immediately have checked for that, since I knew that I had enabled it for that translation unit a few hours earlier. As it is, I was unsurprised that the /P switch was enabled on the module property sheet for that translation unit, and that it overrode the project property sheet that said otherwise.
I've been writing in various flavors of the C programming language since 2005, and my reading knowledge goes back a further 20 years. I've worked almost exclusively in the Microsoft stack since the mid 1990's, and have worked in other equally complex stacks since 1978.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Well,
Technically... there are several of the compiler options[^] that suppress compilation. The /E[^] and /EP[^] and /P[^] all suppress compilation and always result in a linker failure. There may be a few more as that's all I remember off the top of my head.
I do think that it might be useful if these compiler options generated a level 3 or 4 warning so they can be caught by /WX. But if that change was made... you'd hear someone else complaining that they are unable to generate preprocessed output to a file when /W3 or /W4 was enabled.
Best Wishes,
-David Delaune
|
|
|
|
|
I agree, and you raise a good point about other switches that suppress code generation. I suspect the best compromise is to call attention to them in the documentation of LNK1181; other linkage editor errors go into such detail about possible causes. Since linkage editor errors can be difficult to solve, all the help that can be mustered would be appreciated by all concerned.
Would you be willing to comment on the issue that I opened, so that Microsoft hears from someone besides me in this regard? If so, the URL is in my original message.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
David A. Gray wrote: Would you be willing to comment on the issue that I opened, so that Microsoft hears from someone besides me in this regard?
Unfortunately I cannot comment on your open issue. Back when I became a Microsoft employee I signed at least a dozen mountains of documents that limit my ability to comment and interact on public forums regarding Microsoft and certain Microsoft products. I've probably crossed or walked that line already within the last few years.
Trust me, both the Visual Studio team and c++ compiler team has probably already seen your open issue. Give him some time to respond.
Best Wishes,
-David Delaune
|
|
|
|
|
Thank you for disclosing your connection. Since my immediate problem is resolved, my objective in opening the issue is to pay it forward by suggesting an improvement that I suspect will benefit some future puzzled programmer. Hence, I have no time limit, and I suspected that they might already have seen it, or at least a report thereof.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Randor wrote: Visual Studio team and c++ compiler team
Randor wrote: him Small "team"
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Hi,
I was referring to Colin Robertson[^] who is the owner of the documentation repository.
Best Wishes,
-David Delaune
|
|
|
|
|
ah
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Why would there be an option to not produce the .obj file? That is, after all, the point of compilation! I guess there might be some reason you don't want the .obj file overwritten, but I can't think of any good reason at the moment.
|
|
|
|
|
Marc Clifton wrote: Why would there be an option to not produce the .obj file?
Most C/C++ compilers support executing *only* the preprocessor stage before the abstract syntax tree and code generation stages. I typically use it when I need to see how the preprocessor expands my macros. The Microsoft compiler will generate .i files with all of the preprocessor results... macros expanded and included in the file. Both GCC and Clang use the -E switch for accomplishing the same thing.
Here is a simple example of why a software developer might want to only run the preprocessor:
#if DLEVEL > 5
#define SIGNAL 1
#if STACKUSE == 1
#define STACK 200
#else
#define STACK 100
#endif
#else
#define SIGNAL 0
#if STACKUSE == 1
#define STACK 100
#else
#define STACK 50
#endif
#endif
#if DLEVEL == 0
#define STACK 0
#elif DLEVEL == 1
#define STACK 100
#elif DLEVEL > 5
#define STACK 50;
#else
#define STACK 200
#endif
What is the value of STACK? Are you sure? You can expand and debug C macros by running only the preprocessor stage. Can be really useful for complex C macros.
Best Wishes,
-David Delaune
|
|
|
|
|
Randor wrote: What is the value of STACK? Are you sure? You can expand and debug C macros by running only the preprocessor stage. Can be really useful for complex C macros
That is precisely the reason I used the /P switch, as it has been in every case when I did so. The only reason that it created a problem this time is that the build environment left it enabled for the Win32 Release configuration.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Today, I went in search of a freestanding color picker that can generate RGB color codes. My search yielded two excellent choices. Pixeur, available at https://pixeur.en.uptodown.com/windows/download, is a small standard Windows program that essentially mimics the color pickers in Microsoft Office (and the one that is hidden in Windows 10 unless you are editing a high contrast theme. RoseLT Color Picker is a Modern (UWP) app, available in the English-language South African department of the Microsoft Store, at https://www.microsoft.com/en-za/p/roselt-color-picker/9nq8c70flp0r, is a bit more fancy, and fills the whole screen to accommodate its many output options and its display of a list of the standard named colors. I like both, and I'm not sure which of the two I'll use most.
What I know for certain is that both, or ones like them, deserve a spot in the toolkit of every serious software developer or graphic artist, for use when the color pickers in your favorite tool are out of reach.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Quote: What I know for certain..... deserve a spot in the toolkit of every serious software developer or graphic artist
What I know for certain:
a.) software developer (even the serious one) have usually no clue what sRGB exactly means and how much worth (more not worth) a pick from his uncalibrated Screen means.
b.) a graphic Artist should know what sRGB means and a Color Picker tool can be usefulle on his calibrated Screen, but he does have more better Tools
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
0x01AA wrote: a.) software developer (even the serious one) have usually no clue what sRGB exactly means and how much worth (more not worth) a pick from his uncalibrated Screen means.
I maintain that a serious software developer must have a working knowledge of sRGB values, knows the limitations of his uncalibrated screen, and just might actually keep his screen calibrated if he does much UI work.
0x01AA wrote: a graphic Artist should know what sRGB means and a Color Picker tool can be usefulle on his calibrated Screen, but he does have more better Tools
I didn't say that the graphic artist didn't have better tools at his disposal, only that they might be out of reach at the moment. For example if he's writing a recommendation, e. g., in Outlook or Word, he might not want to fire up Photoshop just so he can use its color picker. Or, suppose that he's working at home on his personal laptop that doesn't have PS installed on it.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Sorry if I commented a bit/to much exaggerated. But this topic always leads to misunderstandings. All the best.
[Edit]Wrote the above, just while analyzing 1878 Pantone C Colors
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
NP. Have a great day!
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
In case you are interesting in technical deep discussions concerning colorimetrics, I will be very happy and available. It Looks like I'm becoming more and more a Dinosaurier in this field, after the big chemicals gave up to investigate more in this field
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Thanks for the offer, but I'll pass for now. I have too many other irons in the fire.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
That's ok. Quote: Forge the iron while it is hot That I learned before about 50 years from my father... a black Smith and Art Smith
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
I wonder how many people know that black smiths exist today, though in far fewer numbers, than they did in the time of my great-grandfather.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Now, my horse still depend on this art... this art to place/prepare an iron exactly and especially exactly nailing through the hoof at the very correct place
[Edit]
Lol, from ColorPicker to horse hoofs
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|