**Prerequisites: **I am using the internal development environment provided by my client, which is based on Qt Creator, let’s call it “CNC” in this problem.
In this project I compiled a library called DDS into a library file called DDS.lib. After successfully adding DDS.lib to my project, the following error message occurs when building the project: “:-1: error: LNK1104: could not open file”. ddservicesd.lib“”. After some troubleshooting, I found that this “ddservicesd.lib” file exists in the DDS library as ddservices.h and ddservices.cpp.
The compiler I use under CNC is as follows:
- C:Microsoft Visual C++ Compiler 15.0 (amd64)
- C++:Microsoft Visual C++ Compiler 15.0 (amd64)
The debugger I use under CNC is as follows: - Auto-detected CDB at C:Program Files (x86)Windows Kits10Debuggersx64cdb.exe
Based on the Qt Creator version: - 5.12.10
My questions are as follows:
(1) In the DDS library, the source file is named “ddservices”, why does it show “ddservicesd” in the error message, is the letter “d” added automatically by the system? Is the letter “d” at the end automatically added by the system?
(2) In the error message “LNK1104” mentioned above, is it possible that it is due to the compiler?
I tried the following solutions:
(1) In all the files of the project, there are some files that rely on the DDS library to run. I deleted all the C++ source files and header files under “SOURCES +=” and “HEADERS +=” in the pro file of the project, and then built the project. I deleted all the C++ source and header files under “SOURCES +=” and “HEADERS +=” that were specified to be compiled and included in the project and then built the project. Then restore these files and build again, and the build is still successful. However, when you compile or build for the third time, the LNK1104 error mentioned above will occur.
(2) I did not find the word “ddservicesd” in the overall search of the project. There is no obvious correlation.