小编Mat*_*ost的帖子

如何创建分组/嵌套属性?

我试图做'font.family'或'anchors.fill'等嵌套属性,但我不能以正常方式初始化它们,因为它打印'无法分配给不存在的属性'.相反,我被迫使用Component.onCompleted方法.怎么了?

MyButtonStyling.qml:

import QtQml 2.1

QtObject
{
    property QtObject background: QtObject
    {
        property color pressed: "#CCCCCC"
        property color enabled: "#666666"
        property color disabled: "#555555"
    }
}
Run Code Online (Sandbox Code Playgroud)

main.qml:

import QtQuick 2.0

Item
{
    width: 400
    height: 300
    MyButton
    {
        text: "TEST"
        styling: MyButtonStyling
        {
            //background.enabled: "#1B2E0A" //Cannot assign to non-existent property "enabled"
            Component.onCompleted:
            {
                background.enabled = "#1B2E0A" //Works
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyButton.qml:

import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0

Button
{
    property QtObject styling: MyButtonStyling {}

    implicitWidth: 80 …
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick qt5 qtquick2

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

从内联汇编调用函数时,对符号重新定位R_X86_64_PC32

我正在尝试构建共享库,这些库在汇编中具有调用其他函数的一些函数.当我liba.so使用代码构建时

void aFunc1()
{
}

asm(
    ".globl aFunc2\n\t"
    ".type aFunc2, @function\n\t"
    "aFunc2:\n\t"
    ".cfi_startproc\n\t"
    "call aFunc1\n\t" /* note here*/
    "ret\n\t"
    ".cfi_endproc\n\t"
);
Run Code Online (Sandbox Code Playgroud)

和命令

gcc -o liba.so a.c -shared -fPIC
Run Code Online (Sandbox Code Playgroud)

我收到了错误

/usr/bin/ld: /tmp/ccdGBiQv.o: relocation R_X86_64_PC32 against symbol `aFunc1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

它告诉我使用选项,-fPIC但我已经使用了该选项!但是我发现有了选项-Wl,-Bsymbolic它编译得很好.

gcc -o liba.so a.c -shared -fPIC -Wl,-Bsymbolic
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试libb.so使用汇编函数构建第二个库时会出现问题,该函数尝试从第一个库调用函数.编译代码

#include <a.h> …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc

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

标签 统计

assembly ×1

c ×1

gcc ×1

qml ×1

qt ×1

qt-quick ×1

qt5 ×1

qtquick2 ×1