[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: What is *.cpp.d, and why is it breaking my compilations?



On 10/18/2016 06:50 PM, Jarle Aase wrote:
> Hi fellow developers,
> 
> After upgrading Debian Testing a few weeks ago, some of my pet
> projects could no longer build. They are all C++ projects, using
> CMake. I use Kdevelop as my IDE. I waited a while and upgraded again
> today, hoping that the problem would be gone. Unfortunately it was
> not.
> 
> For example (from: https://github.com/jgaa/restc-cpp):
> 
> ~$ src/restc-cpp/dbuild> /usr/bin/ninja [6/15] Building CXX object
> src/CMakeFiles/restc-cpp.dir/ConnectionPoolImpl.cpp.o FAILED:
> src/CMakeFiles/restc-cpp.dir/ConnectionPoolImpl.cpp.o /usr/bin/c++
> -D__USE_FILE_OFFSET64=1 -D__USE_LARGEFILE64=1 -I../include
> -I../externals/rapidjson/include -g -DDEBUG=1 -D_DEBUG=1 -o0 -g
> -Wall -fPIC -std=c++14 -pthread -MD -MT
> src/CMakeFiles/restc-cpp.dir/ConnectionPoolImpl.cpp.o -MF
> src/CMakeFiles/restc-cpp.dir/ConnectionPoolImpl.cpp.o.d -o
> src/CMakeFiles/restc-cpp.dir/ConnectionPoolImpl.cpp.o -c
> ../src/ConnectionPoolImpl.cpp cc1plus: fatal error:
> src/CMakeFiles/restc-cpp.dir/ConnectionPoolImpl.cpp.d: No such file
> or directory compilation terminated.
> 
> This project used to compile fine with Debian Stable, Debian Testing,
> Ubuntu LTS, Suse and even Microsoft Windows.
> 
> If someone here has already stumbled into this problem and know how
> to fix it, please tell me how. I'm eager to move my projects forward
> :)
> 
> All the best,
> 
> Jarle
dependency file...

'-MF FILE'
     When used with '-M' or '-MM', specifies a file to write the
     dependencies to.  If no '-MF' switch is given the preprocessor
     sends the rules to the same place it would have sent preprocessed
     output.

     When used with the driver options '-MD' or '-MMD', '-MF' overrides
     the default dependency output file.

it sends to *.o.d
but it seems to want *.d


Reply to: