-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
65>LINK : fatal error LNK1104: can't open “PocoFoundationd.lib” #6726
Comments
Seems like your build is broken. Without context it's close to impossible to tell what exactly is going on. Have you made sure that you use the correct target triplet when installing Mumble dependencies? |
I use the correct target triplet and installed successfully,but local Poco lib only contains PocoFoundationmd.lib vcpkg install poco --triplet x64-windows-static-md |
It has been learnt that PocoFoundationd.lib and PocoFoundationmdd.lib are the debug versions of the library. The "md" actually means "Multi-threaded DLL" Where "multi-threaded DLL" denotes how the library links to the runtime and the final "d" denotes that its a debug build. i don't know why it LINK PocoFoundationd.lib other than PocoFoundationmdd.lib |
Are you also using the same triplet to compile Mumble? |
Of course, the entire command is: cmake .. -G "Visual Studio 17 2022" -A x64 -Dstatic=ON -DVCPKG_TARGET_TRIPLET=x64-windows-static-md -DCMAKE_TOOLCHAIN_FILE=D:\vcpkg\scripts\buildsystems\vcpkg.cmake -DIce_HOME=D:\vcpkg\installed\x64-windows-static-md -DCMAKE_BUILD_TYPE=Debug |
@Krzmbrzl Please help me take a look at this problem, it's driving me crazy.. |
Why are you specifying |
Deleted this parameter, but it's the same issue. |
Have you deleted the build directory and started from scratch with a cmake invocation in a fresh (empty) build directory? |
Yes,of course,many times |
How did you install the vcpkg dependencies? Any chance you have either downloaded them from our vcpkg fork and/or used our fork along with the build script inside it? If so, you can't use Debug mode as all libraries will be built in Release mode only. Hence, you also have to use Release mode when building Mumble. |
I downloaded them by cloning from your vcpkg fork, that's https://github.com/mumble-voip/vcpkg,and execute bootstrap-vcpkg.bat |
And how did you install the dependencies? Manually or via the |
Manually installed the dependencies, already try Release mode, same issue. i'm very confused why did it LINK PocoFoundationd.lib other than PocoFoundationmdd.lib,i'ts supposed to link PocoFoundationmdd.lib. right ? |
when using the |
So is there anything I can do to fix this issue? The directory of Poco dependencies is as follows: D:\vcpkg\installed\x64-windows-static-md\debug\lib D:\vcpkg\installed\x64-windows\debug\lib |
Why do you have this one? in your vcpkg install tree? That seems to have been installed via a different triplet. If this has automatically been installed when trying to install the |
I clear vcpkg dependencies and installed dependencies by script. Qt dependencies version is Qt6,but our code find Qt5 installed qt5 failed: error: building qt5-base:x64-windows-static-md failed with: BUILD_FAILED other all failed: |
If code is still looking for Qt5, then you are likely not on Mumble's master branch. Also, don't mix using the script and not using the script (unless you understand what the script is doing and are doing the same). |
Yes,you are right,in this case,i'm not on Mumble's master branch. then i start all over again,cleared vcpkg dependencies, installed dependencies by script and on Mumble's master branch. after cmake command: run client (mumble) by Visual Studio failed with error: LINK : fatal error LNK1104:can't open “PocoFoundation.lib” but mumble-server by Visual Studio can run properly |
I try again and strictly executed the commands provided in the document. same error happen (LINK : fatal error LNK1104: can't open “PocoFoundation.lib”_) command 1: command 2: |
It actually links to D:\vcpkg\installed\x64-windows-static-md\lib\PocoFoundationmd.lib, but the result shows an error for PocoFoundation.lib. whole Link log : It actually links to D:\vcpkg\installed\x64-windows-static-md\lib\PocoFoundationmd.lib, but the result shows an error for PocoFoundation.lib. |
Just to make sure: Have you tried building Mumble outside of VS? I.e. fully on the command line? Just to ensure that what we are seeing is not a VS issue. |
I tried and strictly executed the commands provided in the document. same error happen (LINK : fatal error LNK1104: can't open “PocoFoundation.lib”_) command 1: command 2: |
same process,installed dependencies by script and on Mumble's master branch. after command: cmake -G "Ninja" "-DVCPKG_TARGET_TRIPLET=x64-windows-static-md" "-Dstatic=ON" "-DCMAKE_TOOLCHAIN_FILE=D:\vcpkg\scripts\buildsystems\vcpkg.cmake" "-DIce_HOME=D:\vcpkg\installed\x64-windows-static-md" "-DCMAKE_BUILD_TYPE=Release" .. cmake --build . failed log |
I was able to reproduce the issue. After a bit more digging, I believe that this is microsoft/vcpkg#38462 and hence a vcpkg issue. I'll see if I can do something about it... |
On my machine the issue seems to be resolved by updating poco from 1.14.0 to 1.14.1. I have a pending upstream PR that will update the port in vcpkg. Once that gets merged, I will update our fork accordingly. In the meantime, you could simply apply the changes of that PR manually or just wait a couple of days... I'll close this as an upstream issue |
Indeed, the problem has been resolved. Thank you very much. |
The issue
used Visual Studio run mumble client failed with this error:
65>LINK : fatal error LNK1104: can not open “PocoFoundationd.lib”
but local Poco lib only contains PocoFoundationmd.lib
Mumble version
master
Mumble component
Client
OS
Windows
Additional information
No response
The text was updated successfully, but these errors were encountered: