小编Ala*_*ark的帖子

在 Linux 内核 5.8.x 上构建驱动程序时出现问题

我正在使用基于 v5.7.x 内核构建的 Linux 驱动程序,但不是基于最新的 v5.8.x 版本。

总而言之,大部分驱动程序是预先构建的,内核接口是在目标上构建的。这就涉及到一个make -f Kbuild命令。

检查了所有相关的内核接口文件是否有任何会影响我们的更改后,通常驱动程序会照常在新内核上构建。然而,这次我们得到了以下错误:

make[2]: *** [scripts/Makefile.modpost:111: /path/to/source/Module.symvers] Error 1
make[1]: *** [Makefile:1669: modules] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.8.0-1.el8.elrepo.x86_64'
make: *** [Kbuild:26: default] Error 2
Run Code Online (Sandbox Code Playgroud)

这是来自 CentOS 8.1,但在 Ubuntu 20.04 上也出现了同样的错误。

我不是这方面的专家,所以解释这些错误有点困难。我尝试使用 KBUILD_VERBOSE 标志进行构建,但除了到目前为止构建成功之外,它并没有真正提供任何有用的信息。

在以前的内核上,将创建 Module.symvers 文件,但它是空的。在 5.8 上,该文件根本不会创建,可能是由于此错误。因此,不会创建 .ko 文件。

最后,如果我们放入源文件而不是预构建的 .o 文件,构建就会成功。这些 .o 文件是使用非常旧的 GCC 版本 (4.4.7) 构建的,但我们也尝试使用更新的版本 (8.3.1) 构建,与目标计算机的版本相同。

我很感激有关检查事项的建议。让我知道是否还有其他详细信息有帮助。

编辑:

我手动在 Makefile.modpost 上运行 make 并得到以下输出:

sudo make -f ./scripts/Makefile.modpost
WARNING: Symbol version dump "vmlinux.symvers" is missing. …
Run Code Online (Sandbox Code Playgroud)

linux driver linux-device-driver linux-kernel kbuild

4
推荐指数
1
解决办法
7467
查看次数

Visual Studio包 - 如何在本地窗口中获取信息?

我有一个VSPackage,我希望在调试模式下获取类似于本地窗口中显示的信息(当前上下文的变量值).

我一直在试验DTE.Debugger.CurrentStackFrame实例,它看起来很有趣,因为它暴露了Argument和Local表达式集合.但是,我无法看到将表达式的值作为对象获取的方法 - Value属性似乎只是ToString值.

c# debugging vspackage vs-extensibility

3
推荐指数
1
解决办法
299
查看次数

WPF RichTextBox - 选定块?

我正在尝试使用WPF RichTextBox,并注意到我可以通过循环遍历RichTextBox.Document.Blocks来遍历构成其文档的块.

让插入物包围的块的最佳方法是什么?

我可以得到每个块的CaretPosition和ElementStart和ElementEnd属性,但是看不到如何比较它们,因为实际的字符偏移不会暴露,除非我遗漏了一些明显的东西.

c# wpf richtextbox

3
推荐指数
1
解决办法
4350
查看次数

来自常量的WPF图像源

我有一些图标是我项目中的资源,我打算将这些图标用于菜单项和其他内容.

我创建了一个常量类来将这些图标的位置保存在一个中心位置,而不是将它们硬编码到每个菜单项等中.

例如

public const string IconName = "/Project;component/Icons/IconName.png";
Run Code Online (Sandbox Code Playgroud)

如果我将此值硬编码到xaml中图像的Source属性中,它可以正常工作.但是,如果我尝试引用此常量,那么它将失败.

例如

<Image Source="{x:Static pb:IconConstants.IconName}" Width="16" Height="16" />
Run Code Online (Sandbox Code Playgroud)

它失败并出现此异常:"无法将属性'Source'中的值转换为'System.Windows.Media.ImageSource'类型的对象."

这和我刚刚硬编码的区别是什么?有没有更好的方法在xaml中引用我的常量?

谢谢,艾伦

c# wpf xaml image constants

3
推荐指数
1
解决办法
4385
查看次数

在Wix中设置ComponentGroupRef的目录?

我已经使用Heat工具根据我想要安装其内容的文件夹生成wxs文件.这给了我一个像这样的大文件:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <DirectoryRef Id="TARGETDIR">
            <Directory Id="dir1FC8A0605F7DF8B33E3EECB0A1270FA2" Name="DirectoryName" />
        </DirectoryRef>
    </Fragment>
    <Fragment>
        <ComponentGroup Id="ComponentGroupId">
            <Component Id="cmp1FB67A60B41F3170889B7E5739A23560" Directory="dir1FC8A0605F7DF8B33E3EECB0A1270FA2" Guid="{2DC3B790-D29C-4090-B4CF-5C27687C6ABE}">
                <File Id="filF1E1262E52254B1846C7CB2393126A6F" KeyPath="yes" Source="PathToFile" />
            </Component>
        </ComponentGroup>
    </Fragment>
</Wix>
Run Code Online (Sandbox Code Playgroud)

在我的主要Wix文件Product.wxs中,我有一个引用Heat创建的上述ComponentGroup的功能.该功能看起来像这样:

<Feature Id="FeatureId" Title="FeatureTitle" Level="1" AllowAdvertise="no" Absent="disallow" Description="Feature description.">
    <ComponentGroupRef Id="ComponentGroupId" />
</Feature>
Run Code Online (Sandbox Code Playgroud)

这是工作,但是当我运行安装程序,组件组内的文件放在C盘的根目录(即C:\目录名),但我想他们进入程序文件(如C:\ Program Files文件\目录名).

有任何想法吗?

谢谢,艾伦

components wix path heat

3
推荐指数
1
解决办法
3892
查看次数

在Objective-C中传递长篇论文?

我试图将一个long long类型作为参数传递给函数并失败.我可以将5000000000分配给long long变量,如下所示:

long long value = 5000000000;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将该变量传递给方法时:

- (void)viewDidLoad
{
    [super viewDidLoad];

    long long value = 5000000000;

    [self test:value];
}

-(void) test:(long long)value
{
    printf("%d\n", value);
}
Run Code Online (Sandbox Code Playgroud)

该值打印为705032704而不是5000000000.我在调试器中验证了这一点.705032704的值是常量,所以看起来似乎发生了某种截断.

我准备用这个把头发拉出来.有人可以帮忙吗?

谢谢,艾伦

iphone variables arguments objective-c truncation

3
推荐指数
1
解决办法
2138
查看次数

如何在Qt中的Mac应用程序包中捆绑dylib?

我有一个应用程序和它链接的dylib.我的理解是应用程序包应该包含dylib.那是对的吗?

有没有办法在构建时将dylib复制到应用程序包?

谢谢,艾伦

c++ macos qt bundle dylib

3
推荐指数
1
解决办法
1090
查看次数

Qt pro 文件条件库

我正在尝试设置一个 pro 文件,如果定义了变量,我希望它仅包含特定的库。我已经通过命令行附加 DEFINES+=VARIABLE_NAME 将该变量传递到 qmake 中。

我可以使用 VARIABLE_NAME 有条件地编译部分代码,但是我可以有一个条件来检测 pro 文件中的 VARIABLE_NAME 并仅包含一个库(如果存在)吗?

谢谢,艾伦

c++ qt qmake conditional-compilation

3
推荐指数
1
解决办法
2629
查看次数

将 XAML 形状绘制到 DrawingContext?

我有几个由 WPF 形状基元组成的常见符号(例如矩形、直线、路径等)。这些符号当前作为用户控件存储在 xaml 文件中。例如:

<Canvas x:Name="Symbol" Width="100" Height="100">
    <Rectangle x:Name="Rectangle" Width="100" Height="100" Stretch="Fill">
        <Rectangle.Fill>
            <SolidColorBrush Color="Aqua"></SolidColorBrush>
        </Rectangle.Fill>
    </Rectangle>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

上面是一个简单的例子,但我的大多数符号都比较复杂,由许多不同的部分组成。因此,我希望使用这些用户控件来存储符号并使它们易于操作。

我正在 Canvas 的 OnRender 方法中进行大量绘图,并希望在绘图中包含其中一些复合符号。是否可以将它们转换为某种格式以将它们绘制到 DrawingContext?我知道有一个名为 DrawingContext.DrawImage 的方法,但这需要 ImageSource 作为输入。

任何想法将不胜感激。

谢谢,艾伦

c# wpf xaml user-controls drawing

2
推荐指数
1
解决办法
2638
查看次数

Windows窗体中的Windows 7样式树视图

可能重复:
如何获取.NET TreeView的Windows原生外观?

我想知道是否可以使用Vista/Windows 7样式设置我的Windows窗体树形样式.如果它在旧版本的Windows中运行,那么我希望使用常规的树视图样式.

这可能是使用清单还是需要更详细的自定义或使用第三方控件?

谢谢,艾伦

.net treeview styling winforms

1
推荐指数
1
解决办法
2028
查看次数

如何强制将单个域用于ASP.NET MVC站点?

我目前有一个ASP .NET MVC站点,有两个指向它的域(例如www.domainA.com和www.domainB.com).即使访问www.domainB.com,我也想更改所有链接以使用www.domainA.com.

我的所有网址都是由内置的Url.Action和Html.ActionLink方法生成的.

我按照上一个问题中的说明进行操作,但我无法完成它.

这是我的自定义路线:

public class MultipleDomainRoute : System.Web.Routing.Route
{
    public MultipleDomainRoute(string url, IRouteHandler routeHandler)
        : base(url, routeHandler)
    {
    }

    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
    {
        VirtualPathData path = new VirtualPathData(this, "http://www.domainA.com/" + values["controller"] + "/" + values["action"]);
        return path;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的自定义路由处理程序:

class MyRouteHandler : IRouteHandler
{
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        return new MvcHandler(requestContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的RegisterRoutes方法:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.Add(new MultipleDomainRoute("{controller}/{action}/{id}", new MyRouteHandler()));

    routes.MapRoute(
        "Default",                                              // Route …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net asp.net-mvc asp.net-mvc-routing

1
推荐指数
1
解决办法
2165
查看次数

为高对比度主题重新设计 AvalonDock?

我在一个项目中使用 AvalonDock。为了这个例子,它的结构如下:

<ad:DockingManager>
    <ad:DockablePane>
        <ad:DockableContent Title="Test1">
        </ad:DockableContent>
        <ad:DockableContent Title="Test2">
        </ad:DockableContent>
    </ad:DockablePane>
</ad:DockingManager>
Run Code Online (Sandbox Code Playgroud)

普通标签

这很好,但不幸的是,标签在高对比度主题上看起来不太好,如下所示。

高对比度标签

理想情况下,我想重新设置选项卡的样式以使用系统颜色作为背景(例如窗口颜色)。这可能吗?

谢谢,艾伦

c# wpf styling avalondock high-contrast

1
推荐指数
1
解决办法
2199
查看次数