微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cygwin 无法将 C++ 项目与消毒剂链接起来

如何解决Cygwin 无法将 C++ 项目与消毒剂链接起来

我有一个 C++ 项目,我尝试在 CLion 中使用 Cygwin(使用 gcc 编译器)构建该项目。 它编译成功,但在链接阶段我收到一个错误

SELECT disTINCT T0.U_RessName,(SELECT SUM(X.U_DuratD-X.U_NClearableD) FROM [@SWA_CT_EFFORT] X INNER JOIN OSCL Y ON X.U_ObjEntry = Y.callID WHERE X.U_RessName = T0.U_RessName AND X.U_FromDate >=  dateadd(day,datediff(day,GetDate())- 7,0) AND (Y.subject LIKE '%%PM%%' AND Y.subject NOT LIKE '%%Follow%%')),(SELECT CASE WHEN ISNUMERIC(A.U_UserField1) = 1
    THEN CONVERT(DECIMAL(18,2),A.U_UserField1)
    ELSE 0 END
FROM [@SWA_CT_SUBSCR] A LEFT JOIN OSCL B ON B.U_SWA_CT_SubCode = A.Code WHERE A.U_CardCode = T1.customer  AND B.subject = T1.subject) AS 'Billed Hours' 
FROM [@SWA_CT_EFFORT] T0
INNER JOIN OSCL T1 ON T1.callID = T0.U_ObjEntry
WHERE (T1.subject LIKE '%%PM%%' AND T1.subject NOT LIKE '%%Follow%%') AND
T0.U_FromDate >= dateadd(day,0)

链接器似乎无法找到消毒剂库,因为当我从

更改 CMakeLists.txt 中的一行时
(SELECT SUM(CASE WHEN ISNUMERIC(A.U_UserField1) = 1
    THEN CONVERT(DECIMAL(18,A.U_UserField1)
    ELSE 0 END)
FROM [@SWA_CT_SUBSCR] A LEFT JOIN OSCL B ON B.U_SWA_CT_SubCode = A.Code WHERE A.U_CardCode = T1.customer  AND B.subject = T1.subject) AS 'Billed Hours' 

/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lasan
/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lubsan
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/main.dir/build.make:106: main.exe] Error 1
make[2]: *** [CMakeFiles/Makefile2:158: CMakeFiles/main.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:165: CMakeFiles/main.dir/rule] Error 2
make: *** [Makefile:184: main] Error 2

它构建成功。 代码无关紧要,“hello world”项目也是如此。

我想在我的开发中使用消毒剂,所以我的问题是如何让它正确链接

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。