代码之家  ›  专栏  ›  技术社区  ›  Deepak Selvakumar

Cmake Gtest项目exe完全不执行

  •  1
  • Deepak Selvakumar  · 技术社区  · 5 年前

    我一直在使用一些C++项目来进行GTUT单元的案例。虽然这些年来所有这些都运行良好,但现在在更新openssl版本1.1.1a后,发现了一些奇怪的问题。2017年《图片报》

    测试项目exe未执行或根本未启动。我试图从命令提示符下执行exe。它只是立即从执行中出来,没有任何执行或消息。它不需要或考虑任何像洗牌测试这样的争论。

    我尝试在主函数中添加跟踪日志,但仍然没有效果。

    我得到的错误是

    6: Test command: plugin-tests.exe "--gtest_shuffle" "--gtest_output=xml:TESTS-plugin.xml"
    6: Test timeout computed to be: 10000000
    6/8 Test #6: plugin-tests ...........***Failed    0.01 sec
    

    我无法在gtest exe中调试,因为也没有合适的文档。

    有人能解释一下吗?

    它有标准的GTest函数来初始化和运行所有测试。这些年来,这种方法一直有效。

    我在代码中做的修改是,

    被改进的 EVP_CIPHER_CTX m_context_encrypt 到 EVP_CIPHER_CTX*m_context_encrypt 确实如此 m_context_encrypt=EVP_CIPHER_CTX_new()

    根据openssl1中的结构变化。1起。

    而且,openssl静态链接到project exe,后者需要链接两个windows库

    crypt32 ws2_32

    所以添加了cmake之类的依赖项,

    if( WIN32 ) 
        target_link_libraries(${PROJECT_NAME} crypt32 ws2_32)
    endif()
    

    gtest单元测试用例正在linux build中成功执行。 问题在于windows的执行。

    然而,在8个测试项目中,有一个测试项目能够在windows中正确执行,我在cmake文件中没有发现任何差异。

    这有点奇怪

    注意:exe的退出代码似乎是255

    0 回复  |  直到 5 年前