我正在尝试在dlang程序中使用c静态库。请告诉我在scons中执行此操作的正确方法。
app.d
import std.stdio;
extern(C) void say_hi_from_c();
void main(string[] args) {
say_hi_from_c();
printf("exit");
}
module.c
#include "stdio.h"
void say_hi_from_c()
{
printf("Hi from C!");
}
SconsTruct
import os
d_env = Environment(DC = 'ldc2',ENV = os.environ)
c_env = Environment(CC = 'clang-cl',ENV = os.environ)
c_library = c_env.Staticlibrary('module',['module.c'])
d_env.Program("a",["app.d",c_library])
链接/ nologo /OUT:a.exe app.obj module.lib
app.obj:错误LNK2019
对主函数中未解析的外部_d_run_main字符的引用