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

unit tests for matrixf_X_matrixF causing non-compilation. #1197

Closed
Azaezel opened this Issue Feb 14, 2015 · 5 comments

Comments

Projects
None yet
3 participants
@Azaezel
Contributor

Azaezel commented Feb 14, 2015

Error 146 error LNK2019: unresolved external symbol _SSE_MatrixF_x_MatrixF referenced in function "private: virtual void __thiscall MatrixF_MultiplyImplmentations_Test::TestBody(void)" (?TestBody@MatrixF_MultiplyImplmentations_Test@@EAEXXZ)
Error 314 error LNK2019: unresolved external symbol _SSE_MatrixF_x_MatrixF referenced in function "private: virtual void __thiscall MatrixF_MultiplyImplmentations_Test::TestBody(void)" (?TestBody@MatrixF_MultiplyImplmentations_Test@@EAEXXZ)

file tag:

extern "C" void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);

@crabmusket

This comment has been minimized.

Show comment
Hide comment
@crabmusket

crabmusket Feb 15, 2015

Contributor

Compiler and windows version? CMake or PG? I have no idea what the appropriate define guards for this should be - this was copied verbatim from old code. Though it didn't seem to break when it was in the engine before porting to googletest.

One option is to simply nuke this test. Pretty sure matrix mult is working okay, or the engine would be pretty much broken :P.

Contributor

crabmusket commented Feb 15, 2015

Compiler and windows version? CMake or PG? I have no idea what the appropriate define guards for this should be - this was copied verbatim from old code. Though it didn't seem to break when it was in the engine before porting to googletest.

One option is to simply nuke this test. Pretty sure matrix mult is working okay, or the engine would be pretty much broken :P.

@crabmusket crabmusket added the Bug label Feb 15, 2015

@crabmusket crabmusket added this to the 3.7 milestone Feb 15, 2015

@Azaezel

This comment has been minimized.

Show comment
Hide comment
@Azaezel

Azaezel Feb 15, 2015

Contributor

VS2013, win8,1 and cmake, respectively. I belive @dottools had a few observations on the matter reguarding the AMD math assembly, but I was darting out the door at the time, and didn't catch if there were any tested resolutions to the matter at the time. This end, I did go ahead and rem out the file temporarily, and at present haven't noted errors, but the week is still young.

Contributor

Azaezel commented Feb 15, 2015

VS2013, win8,1 and cmake, respectively. I belive @dottools had a few observations on the matter reguarding the AMD math assembly, but I was darting out the door at the time, and didn't catch if there were any tested resolutions to the matter at the time. This end, I did go ahead and rem out the file temporarily, and at present haven't noted errors, but the week is still young.

@LuisAntonRebollo

This comment has been minimized.

Show comment
Hide comment
@LuisAntonRebollo

LuisAntonRebollo Feb 15, 2015

Contributor

I think remove extern "C" can work ->

extern "C" void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);

Contributor

LuisAntonRebollo commented Feb 15, 2015

I think remove extern "C" can work ->

extern "C" void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);

@Azaezel

This comment has been minimized.

Show comment
Hide comment
@Azaezel

Azaezel Feb 15, 2015

Contributor

with:

/* TEMP FIX FOR #1197
// If we're x86 and not Mac, then include these. There's probably a better way to do this.
#if defined(WIN32) && defined(TORQUE_CPU_X86)
extern "C" void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
extern "C" void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
#endif
*/
result:

4   IntelliSense: identifier "SSE_MatrixF_x_MatrixF" is undefined
3   IntelliSense: identifier "Athlon_MatrixF_x_MatrixF" is undefined

Error 2 error C3861: 'SSE_MatrixF_x_MatrixF': identifier not found
Error 1 error C3861: 'Athlon_MatrixF_x_MatrixF': identifier not found

Contributor

Azaezel commented Feb 15, 2015

with:

/* TEMP FIX FOR #1197
// If we're x86 and not Mac, then include these. There's probably a better way to do this.
#if defined(WIN32) && defined(TORQUE_CPU_X86)
extern "C" void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
extern "C" void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result);
#endif
*/
result:

4   IntelliSense: identifier "SSE_MatrixF_x_MatrixF" is undefined
3   IntelliSense: identifier "Athlon_MatrixF_x_MatrixF" is undefined

Error 2 error C3861: 'SSE_MatrixF_x_MatrixF': identifier not found
Error 1 error C3861: 'Athlon_MatrixF_x_MatrixF': identifier not found

Azaezel added a commit to Azaezel/Torque3D that referenced this issue Feb 15, 2015

Azaezel added a commit to Azaezel/Torque3D that referenced this issue Feb 15, 2015

@LuisAntonRebollo

This comment has been minimized.

Show comment
Hide comment
@LuisAntonRebollo

LuisAntonRebollo Feb 15, 2015

Contributor

Fixed on #1202

Contributor

LuisAntonRebollo commented Feb 15, 2015

Fixed on #1202

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment