yyzybb537 / libgo

Go-style concurrency in C++11
MIT License
3.22k stars 758 forks source link

windows下编译完成Libgo.lib后,编译测试例子时一大堆错误 #126

Closed gswgit closed 5 years ago

gswgit commented 5 years ago

在windows下编译时,我添加了生成的libgo.lib,然后包含了libgo目录下面的libgo.h,然后编译tutorial目录下面的一个示例,这时候一大堆错误,其中有些错误没有加判断,包含了Linux下的部分文件,我已经更改了一部分,但是还有很多编译错误,请作者尝试一下

D:\share\libgo\scheduler.h:272: error: 'Scheduler' has not been declared

define g_Scheduler Scheduler::getInstance()

                 ^

D:\share\libgo\scheduler.h:272: error: 'Scheduler' has not been declared

define g_Scheduler Scheduler::getInstance()

                 ^

这样的错误很多

gswgit commented 5 years ago

D:\share\libgo\coroutine.h:29: error: undefined reference to co::Scheduler::getInstance()' D:\share\libgo\coroutine.h:29: error: undefined reference toco::Scheduler::CreateTask(std::function<void ()> const&, unsigned int, char const, int, int) D:\share\libgo\coroutine.h:29: error: undefined reference to `co::Scheduler::CreateTask(std::function<void ()> const&, unsigned int, char const, int, int)'

yyzybb537 commented 5 years ago

这显然是既没有找到头文件,也没链接到lib

gswgit commented 5 years ago

一开始只用了生成的Libgo.lib,后来我生成了Install这个项目,发现还安装了libgo_main.lib,我把这两个Lib文件都加入到工程里面就没有错误了

gswgit commented 5 years ago

我一开始使用的mingw版本的QT,编译一直报错,使用msvc版本的即可正常