Closed cntaylor closed 2 years ago
@jlblancoc Do we still have this issue? I think you added AppVeyor CI for Win32 platforms...
Yes, but it failed for a weird reason that couldn't replicate locally in MSVC. The error message is:
-- Configuring done
-- Generating done
-- Build files have been written to: C:/projects/gtsam/build
The solution file has two projects named "gtsam_examples".
and I got stuck there so...
Apparently, it has nothing to do with the issue in this thread.
@jlblancoc I think the problem is with MSBuild. Could you test locally with MSBuild instead of VS?
@ProfFan : thanks for the pointer. Using msbuild it fails, but invoking cmake --build .
it works (however it internally invokes cl
!)
microsoft/msbuild#3019
Is this still an issue?
This is still an issue. There is name-clashing of global variables and functions happening when we merge various test files.
So after some consideration, this issue can be easily solved if we update the namespaces of each of the test files. This is an easy thing to do, but requires a lot of legwork to check and run the tests.
Description
If the GTSAM_SINGLE_TEST_EXE option is enabled, then the unit tests fail to compile. For example, check.geometry will not compile under either Linux or Windows. It generates a "multiple definition" error
Steps to reproduce
make check.geometry
Expected behavior
Expect the unit tests to compile without errors.
Environment
This occurs in both Windows and Linux. That said, the GTSAM_SINGLE_TEST_EXE is turned on by default in Windows, but is off by default in Linux. So, this is far more "noticeable" in Windows.
Additional information
Two questions really.