所以我一直试图在MSVC下在Windows下创建一个静态库,方法是在微软的x64命令行工具下启动mingw32-make。我得到链接器错误LNK1561:必须定义入口点。为了完整起见,这是我的Makefile。
all: build\lib\libds.lib
build\lib\libds.lib: build\obj\priority-queue.obj
link /OUT:build\bin\libds.lib build\obj\priority-queue.obj
build\obj\priority-queue.obj: libs/ds/priority-queue.c include/ds/priority-queue.h
cl /Iinclude /c libs/ds/priority-queue.c /Fo:build\obj\priority-queue.obj
当我为main()添加定义时,库链接没有问题。这是什么交易?
答案 0 :(得分:2)
当我们构建静态库时,我们需要使用SELECT 'GRANT ' || PRIVILEGE || ' ON ' || OWNER || '.' || TABLE_NAME || ' TO ' || GRANTEE || ';'
FROM DBA_TAB_PRIVS
WHERE GRANTEE='HR';
SELECT 'GRANT ' || PRIVILEGE || ' TO ' || GRANTEE || ';'
FROM DBA_SYS_PRIVS
WHERE GRANTEE='HR';
SELECT 'GRANT ' || GRANTED_ROLE || ' TO ' || GRANTEE
FROM DBA_ROLE_PRIVS
WHERE GRANTEE='HR';
或link.exe /lib [LIB Options]
或link.exe -lib [LIB Options]
。这没有很好的记录(部分在这里 - Running LIB)
注意 - 当您运行lib [LIB Options]
时 - 它执行lib.exe xxx
并退出 - 所以link.exe -lib xxx
不是自助服务实用程序,而是调整到lib.exe
(与{{1}相同} reexec link.exe
)。我们当然可以使用dump.exe xxx
进行构建,但最好使用link.exe -dump xxx
命令。